Function at 0x438590
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x1360
call fcn.00481410
mov eax, dword [0x4bacc0]
xor eax, esp
mov dword [esp + 0x135c], eax
push ebx
push ebp
push esi
cmp dword [0x4bd458], 0
mov eax, dword [esp + 0x1374]
mov ecx, dword [esp + 0x1378]
mov edx, dword [esp + 0x137c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x1380]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x1384]
mov ebx, dword [esp + 0x1398]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x1388]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x138c]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x1390]
mov ebp, dword [esp + 0x13a0]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x1394]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x139c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x13a4]
mov dword [esp + 0x28], edx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x50], ebp
mov dword [esp + 0x1c], ecx
je 0x43864c
call fcn.00452bc0
mov dword [esp + 0x4c], eax
cmp dword [0x4bd450], 0
jne 0x43865f
mov esi, 0x17
jmp 0x439fa0
mov eax, dword [esp + 0x1370]
lea edx, [esp + 0xc]
push edx
push eax
call fcn.00452830
mov esi, eax
add esp, 8
test esi, esi
jne 0x439fa0
push edi
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0xcee0]
test eax, eax
je 0x439f9a
cmp eax, 1
je 0x439f9a
cmp dword [edi + 0xa9c], 0xffffffff
jne 0x4386ad
mov esi, 0x17
jmp 0x439f9f
test ebx, ebx
je 0x438a56
cmp byte [edi + 0x2ebc], 0xff
lea eax, [edi + 0x2ebc]
jne 0x438916
cmp byte [edi + 0x2ebd], 0xff
jne 0x438916
push 0x9000
push 0
push eax
call fcn.00481440
mov edi, dword [esp + 0x1c]
add esp, 0xc
cmp dword [edi + 0xab4], 1
je 0x438916
test dword [edi + 0x1484], 0x2000
je 0x438916
lea ecx, [esp + 0x160]
push ecx
call fcn.004529d0
lea edx, [esp + 0x16b]
push 4
push edx
mov byte [esp + 0x16c], 0x43
mov byte [esp + 0x16e], 5
mov byte [esp + 0x172], 0
call fcn.004529e0
mov eax, dword [esp + 0x1c]
push 0x1e
push 4
lea ecx, [eax + 0x2ebc]
push ecx
push 1
push 0xa
lea edx, [esp + 0x180]
push edx
add eax, 4
push eax
call fcn.0042da90
add esp, 0x28
test eax, eax
jne 0x4388fc
mov eax, dword [esp + 0x10]
movzx ecx, word [eax + 0x2ebc]
push ecx
call fcn.00452a30
add esp, 4
cmp eax, 2
jg 0x4387f4
mov eax, dword [esp + 0x10]
push 0xa
push 4
lea edx, [eax + 0x2ebc]
push edx
push 1
push 0xa
lea ecx, [esp + 0x174]
push ecx
add eax, 4
push eax
call fcn.0042da90
add esp, 0x1c
test eax, eax
jne 0x4387de
mov edx, dword [esp + 0x10]
movzx eax, word [edx + 0x2ebc]
push eax
call fcn.00452a30
add esp, 4
cmp eax, 2
jg 0x4387f4
mov ecx, dword [esp + 0x10]
mov byte [ecx + 0x2ebd], 0
mov edx, dword [esp + 0x10]
mov byte [edx + 0x2ebc], 0
jmp 0x4387f4
mov eax, dword [esp + 0x10]
mov byte [eax + 0x2ebd], 0
mov ecx, dword [esp + 0x10]
mov byte [ecx + 0x2ebc], 0
mov edi, dword [esp + 0x10]
cmp byte [edi + 0x2ebc], 0xff
je 0x438a4f
cmp byte [edi + 0x2ebd], 0xff
je 0x438916
movzx edx, word [edi + 0x2ebc]
push edx
call fcn.00452a30
add esp, 4
cmp eax, 2
jle 0x438912
lea eax, [esp + 0x160]
push eax
call fcn.004529d0
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x164], 0x43
mov byte [esp + 0x166], 5
mov byte [esp + 0x16a], 0
movzx edx, word [ecx + 0x2ebc]
push edx
call fcn.00452a30
add eax, 2
push eax
lea eax, [esp + 0x173]
push eax
call fcn.004529e0
mov ecx, dword [esp + 0x20]
movzx edx, word [ecx + 0x2ebc]
add esp, 0x10
push 0x1e
push edx
call fcn.00452a30
add esp, 4
add eax, 2
push eax
mov eax, dword [esp + 0x18]
lea ecx, [eax + 0x2ebc]
push ecx
push 1
push 0xa
lea edx, [esp + 0x174]
push edx
add eax, 4
push eax
call fcn.0042da90
add esp, 0x1c
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x4388e8
movzx ecx, word [eax + 0x2ebc]
push ecx
xor esi, esi
call fcn.00452a30
mov edx, dword [esp + 0x14]
lea eax, [eax + edx + 0x2ebe]
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
add esp, 4
mov word [eax + 0x10], si
jmp 0x438912
mov byte [eax + 0x2ebd], 0
mov ecx, dword [esp + 0x10]
mov byte [ecx + 0x2ebc], 0
jmp 0x438912
mov edx, dword [esp + 0x10]
mov byte [edx + 0x2ebd], 0
mov eax, dword [esp + 0x10]
mov byte [eax + 0x2ebc], 0
mov edi, dword [esp + 0x10]
cmp byte [edi + 0x2ebc], 0xff
je 0x438a4f
cmp byte [edi + 0x2ebd], 0xff
je 0x438a4f
movzx ecx, word [edi + 0x2ebc]
push ecx
call fcn.00452a30
add esp, 4
cmp eax, 2
jle 0x438a4b
mov byte [ebx], 0
mov byte [ebx + 1], 0
mov dword [esp + 0x14], ebx
xor esi, esi
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x14]
push edx
push 0
push 0x7f
add eax, 0x2ebc
push esi
push eax
call fcn.00453fc0
add esp, 0x14
test eax, eax
jne 0x438a39
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x14]
push ecx
push eax
push 0x80
add edx, 0x2ebc
push esi
push edx
call fcn.00453fc0
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x28]
push eax
push 0
push 0x81
add ecx, 0x2ebc
push esi
push ecx
call fcn.00453fc0
mov eax, dword [esp + 0x38]
lea edx, [esp + 0x3c]
push edx
push 0
push 0x82
add eax, 0x2ebc
push esi
push eax
call fcn.00453fc0
mov edx, dword [esp + 0x4c]
lea ecx, [esp + 0x50]
push ecx
push 0
push 0x83
add edx, 0x2ebc
push esi
push edx
call fcn.00453fc0
mov ecx, dword [esp + 0x60]
add esp, 0x50
lea eax, [esp + 0x14]
push eax
push 0
push 0x84
add ecx, 0x2ebc
push esi
push ecx
call fcn.00453fc0
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x28]
push edx
push 0
push 0x87
add eax, 0x2ebc
push esi
push eax
call fcn.00453fc0
mov eax, dword [esp + 0x3c]
add esp, 0x28
add eax, 1
mov dword [esp + 0x14], eax
mov byte [eax], 0
add esi, 1
cmp esi, 8
jl 0x438956
mov edi, dword [esp + 0x10]
jmp 0x438a56
mov edi, dword [esp + 0x10]
mov byte [ebx], 0
mov byte [ebx + 1], 0
mov eax, dword [esp + 0x28]
xor esi, esi
cmp eax, esi
je 0x43907a
cmp dword [eax], 0xffffffff
je 0x43907a
mov ecx, dword [edi + 0xa9c]
push ecx
call fcn.00452ba0
mov edi, dword [esp + 0x14]
mov edx, eax
shl edx, 4
add edx, eax
add esp, 4
cmp dword [edi + edx*4 + 0x328], 0xffffffff
jne 0x43907a
push 0x84
lea eax, [esp + 0xe0]
push esi
push eax
call fcn.00481440
mov ecx, dword [edi + 0xa9c]
and cl, 7
add esp, 0xc
neg cl
sbb ecx, ecx
and ecx, 0xfffffb51
add ecx, 0x55f
mov dword [esp + 0xdc], ecx
test dword [edi + 0xa9c], 0x1c000
je 0x438ae2
mov dword [esp + 0xdc], 0x1188
cmp dword [edi + 0xab4], 1
jne 0x438af7
mov dword [esp + 0xdc], esi
jmp 0x438eb5
lea edx, [esp + 0x160]
push edx
call fcn.004529d0
lea eax, [esp + 0x16c]
push 0x10
push eax
mov byte [esp + 0x16c], 0xac
call fcn.004529e0
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov byte [esp + 0x16a], 3
test dword [eax + 0xa9c], 0x1ffc0
je 0x438c27
push 5
push 0x208
lea ecx, [esp + 0x374]
push ecx
push 1
push 0xc
lea edx, [esp + 0x174]
push edx
add eax, 4
push eax
call fcn.0042da90
add esp, 0x1c
test eax, eax
jne 0x438c27
mov eax, dword [esp + 0x36c]
push eax
mov dword [esp + 0xe0], esi
call fcn.00452a50
sub eax, 4
shr eax, 4
mov dword [esp + 0x34], eax
add eax, 0xffffffff
add esp, 4
cmp eax, 0xe
ja 0x438c27
lea ecx, [esp + 0xdc]
xor ebx, ebx
lea ebp, [esp + 0x37c]
mov dword [esp + 0x18], ecx
lea ebx, [ebx]
cmp ebx, dword [esp + 0x30]
jge 0x438eb1
xor edi, edi
cmp dword [esp + 0xdc], edi
je 0x438bf4
lea esi, [esp + 0xdc]
lea esp, [esp]
mov edx, dword [ebp]
push edx
call fcn.00452a50
add esp, 4
cmp dword [esi], eax
je 0x438bf4
add edi, 1
cmp dword [esp + edi*4 + 0xdc], 0
lea esi, [esp + edi*4 + 0xdc]
jne 0x438bd0
cmp dword [esp + edi*4 + 0xdc], 0
jne 0x438c17
mov eax, dword [ebp]
push eax
call fcn.00452a50
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx], eax
add ecx, 4
mov dword [esp + 0x18], ecx
add ebx, 1
add ebp, 0x10
cmp ebx, 0x20
jl 0x438bb0
jmp 0x438eb1
push 0x1000
lea ecx, [esp + 0x370]
push esi
push ecx
call fcn.00481440
lea edx, [esp + 0x16c]
push edx
call fcn.004529d0
lea eax, [esp + 0x177]
push 0xfe
push eax
mov byte [esp + 0x178], 0x5a
mov byte [esp + 0x17a], 0x2a
call fcn.004529e0
mov eax, dword [esp + 0x28]
push 8
push 0xfe
lea ecx, [esp + 0x38c]
push ecx
push 1
push 0xa
lea edx, [esp + 0x18c]
push edx
add eax, 4
push eax
call fcn.0042da90
add esp, 0x34
test eax, eax
jne 0x438eb1
mov ecx, dword [esp + 0x372]
push ecx
call fcn.00452a30
lea ecx, [esp + eax + 0x378]
movzx eax, word [ecx + 0xe]
add esp, 4
cmp ax, si
je 0x438eb1
cmp word [ecx + 8], si
je 0x438eb1
push eax
call fcn.00452a30
lea ecx, [eax + eax*4]
add ecx, ecx
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 5
mov ebx, edx
shr ebx, 0x1f
push 0x80000000
add ebx, edx
mov edx, dword [esp + 0x18]
push 0x80000000
push edx
call fcn.004534c0
add esp, 0x10
test eax, eax
jne 0x438eb1
lea eax, [esp + 0x160]
push eax
call fcn.004529d0
lea ecx, [esp + 0x16b]
push 0xfe
push ecx
mov byte [esp + 0x16c], 0x5a
mov byte [esp + 0x16e], 0x2a
call fcn.004529e0
mov ecx, dword [esp + 0x1c]
push 8
push 0xfe
lea edx, [esp + 0x380]
push edx
push 1
push 0xa
lea eax, [esp + 0x180]
push eax
add ecx, 4
push ecx
call fcn.0042da90
add esp, 0x28
test eax, eax
jne 0x438eb1
mov edx, dword [esp + 0x372]
push edx
call fcn.00452a30
lea esi, [esp + eax + 0x378]
movzx eax, word [esi + 0xe]
push eax
call fcn.00452a30
add esp, 8
cmp eax, 0xffff
jne 0x438d96
movzx ecx, word [esi + 8]
push ecx
jmp 0x438d9b
movzx edx, word [esi + 0xe]
push edx
call fcn.00452a30
lea ecx, [eax + eax*4]
mov dword [esp + 0xe0], eax
add ecx, ecx
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 5
mov eax, edx
add esp, 4
shr eax, 0x1f
mov esi, 1
lea ebp, [edx + eax - 0x14]
cmp ebp, 0xa
jle 0x438e9e
mov ecx, dword [esp + 0x10]
push 0x80000000
push ebp
push ecx
call fcn.004534c0
add esp, 0xc
test eax, eax
jne 0x438efb
lea edx, [esp + 0x160]
push edx
call fcn.004529d0
lea eax, [esp + 0x16b]
push 0xfe
push eax
mov byte [esp + 0x16c], 0x5a
mov byte [esp + 0x16e], 0x2a
call fcn.004529e0
mov eax, dword [esp + 0x1c]
push 8
push 0xfe
lea ecx, [esp + 0x380]
push ecx
push 1
push 0xa
lea edx, [esp + 0x180]
push edx
add eax, 4
push eax
call fcn.0042da90
add esp, 0x28
test eax, eax
jne 0x438f08
mov ecx, dword [esp + 0x372]
push ecx
call fcn.00452a30
movzx edx, word [esp + eax + 0x386]
lea edi, [esp + eax + 0x378]
push edx
call fcn.00452a30
add esp, 8
cmp dword [esp + esi*4 + 0xd8], eax
je 0x438e92
movzx eax, word [edi + 0xe]
push eax
call fcn.00452a30
add esp, 4
mov dword [esp + esi*4 + 0xdc], eax
add esi, 1
sub ebp, 0x14
cmp esi, 0x20
jl 0x438dc7
mov eax, dword [esp + 0x10]
push 0x80000000
push ebx
push eax
call fcn.004534c0
add esp, 0xc
mov edi, dword [esp + 0x10]
xor ebx, ebx
cmp dword [esp + 0xdc], ebx
je 0x438faf
fld qword [0x4a0370]
lea esi, [esp + 0xdc]
mov ecx, dword [esi]
imul ecx, ecx, 0x64
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
fdiv st(1)
call fcn.004836d0
mov ecx, eax
cdq
mov ebp, 0xa
idiv ebp
mov dword [esi], ecx
cmp edx, 7
jne 0x438f15
add ecx, 3
jmp 0x438f45
mov ecx, dword [esp + 0x10]
push 0x80000000
push ebx
push ecx
jmp 0x438ea9
mov edx, dword [esp + 0x10]
push 0x80000000
push ebx
push edx
jmp 0x438ea9
cmp edx, 8
jne 0x438f1f
add ecx, 2
jmp 0x438f45
cmp edx, 9
jne 0x438f29
add ecx, 1
jmp 0x438f45
cmp edx, 1
jne 0x438f33
add ecx, 0xffffffff
jmp 0x438f45
cmp edx, 2
jne 0x438f3d
add ecx, 0xfffffffe
jmp 0x438f45
cmp edx, 3
jne 0x438f47
add ecx, 0xfffffffd
mov dword [esi], ecx
mov eax, dword [edi + 0xa9c]
test eax, 0x3fc0
mov ecx, dword [esi]
je 0x438f64
mov eax, 0xd20d20d3
imul ecx
add edx, ecx
sar edx, 6
jmp 0x438f8c
test eax, 0x1c000
je 0x438f82
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [esi], ecx
jmp 0x438f95
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi], eax
add ebx, 1
cmp dword [esp + ebx*4 + 0xdc], 0
lea esi, [esp + ebx*4 + 0xdc]
jne 0x438ed1
fstp st(0)
push 0x431380
push 4
lea ecx, [esp + 0xe4]
push ebx
push ecx
call fcn.00483150
add esp, 0x10
xor esi, esi
test ebx, ebx
mov byte [esp + 0x16c], 0
jle 0x43903f
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xa9c]
mov edi, dword [esp + esi*4 + 0xdc]
push eax
call fcn.00452ba0
mov edx, dword [esp + 0x14]
mov ecx, eax
shl ecx, 4
add ecx, esi
add esp, 4
add ecx, eax
lea eax, [esp + 0x16c]
mov dword [edx + ecx*4 + 0x328], edi
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x439010
mov ecx, dword [esp + esi*4 + 0xdc]
push ecx
sub eax, edx
lea edx, [esp + eax + 0x170]
push 0x4a0368
push edx
call fcn.004822f9
add esi, 1
add esp, 0xc
cmp esi, ebx
jl 0x438fd5
mov edi, dword [esp + 0x10]
lea eax, [edi + 0x23c]
lea edx, [esp + 0x26c]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x439052
lea eax, [esp + 0x26c]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x439068
sub eax, edx
mov byte [esp + eax + 0x265], cl
mov eax, dword [esp + 0x1c]
xor esi, esi
cmp eax, esi
je 0x439892
cmp dword [eax], 0xffffffff
je 0x439892
mov eax, dword [edi + 0xa9c]
push eax
call fcn.00452ba0
mov edi, dword [esp + 0x14]
mov ecx, eax
shl ecx, 4
add ecx, eax
add esp, 4
cmp dword [edi + ecx*4 + 0x6e0], 0xffffffff
jne 0x439892
push 0x84
lea edx, [esp + 0x5c]
push esi
push edx
call fcn.00481440
mov eax, dword [edi + 0x2fc]
add esp, 0xc
cmp eax, 1
je 0x439707
cmp eax, 0x41
je 0x439707
mov eax, dword [edi + 0xa9c]
test eax, 0x4041
jne 0x439707
and al, 7
neg al
sbb eax, eax
and eax, 0xfffffb51
add eax, 0x55f
mov dword [esp + 0x58], eax
test dword [edi + 0xa9c], 0x1c000
je 0x43911d
mov dword [esp + 0x58], 0x1188
lea eax, [esp + 0x160]
push eax
call fcn.004529d0
lea ecx, [esp + 0x16c]
push 0x10
push ecx
mov byte [esp + 0x16c], 0xac
call fcn.004529e0
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov byte [esp + 0x16a], 3
test dword [eax + 0xa9c], 0x1ffc0
je 0x43922e
push 5
push 0x208
lea edx, [esp + 0x374]
push edx
push 1
push 0xc
lea ecx, [esp + 0x174]
push ecx
add eax, 4
push eax
call fcn.0042da90
add esp, 0x1c
test eax, eax
jne 0x43922e
mov edx, dword [esp + 0x36c]
push edx
call fcn.00452a50
sub eax, 4
shr eax, 4
mov dword [esp + 0x34], eax
add eax, 0xffffffff
add esp, 4
cmp eax, 0xe
mov dword [esp + 0x58], esi
ja 0x43922e
lea eax, [esp + 0x58]
xor ebx, ebx
lea ebp, [esp + 0x380]
mov dword [esp + 0x18], eax
cmp ebx, dword [esp + 0x30]
jge 0x4394bc
xor edi, edi
cmp dword [esp + 0x58], edi
je 0x4391fe
lea esi, [esp + 0x58]
lea esp, [esp]
mov ecx, dword [ebp]
push ecx
call fcn.00452a50
add esp, 4
cmp dword [esi], eax
je 0x4391fe
add edi, 1
cmp dword [esp + edi*4 + 0x58], 0
lea esi, [esp + edi*4 + 0x58]
jne 0x4391e0
cmp dword [esp + edi*4 + 0x58], 0
jne 0x43921e
mov edx, dword [ebp]
push edx
call fcn.00452a50
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx], eax
add ecx, 4
mov dword [esp + 0x18], ecx
add ebx, 1
add ebp, 0x10
cmp ebx, 0x20
jl 0x4391c6
jmp 0x4394bc
push 0x1000
lea eax, [esp + 0x370]
push esi
push eax
call fcn.00481440
lea ecx, [esp + 0x16c]
push ecx
call fcn.004529d0
lea edx, [esp + 0x177]
push 0xfe
push edx
mov byte [esp + 0x178], 0x5a
mov byte [esp + 0x17a], 0x2a
call fcn.004529e0
mov edx, dword [esp + 0x28]
push 8
push 0xfe
lea eax, [esp + 0x38c]
push eax
push 1
push 0xa
lea ecx, [esp + 0x18c]
push ecx
add edx, 4
push edx
call fcn.0042da90
add esp, 0x34
test eax, eax
jne 0x4394bc
mov eax, dword [esp + 0x372]
push eax
call fcn.00452a30
mov cl, byte [esp + eax + 0x379]
lea eax, [esp + eax + 0x378]
add esp, 4
cmp cl, 0x14
je 0x439514
cmp cl, 0x18
je 0x439514
movzx ecx, word [eax + 0x1c]
push ecx
call fcn.00452a30
lea ecx, [eax + eax*4]
add ecx, ecx
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 5
mov edi, edx
shr edi, 0x1f
push 0x80000000
add edi, edx
mov edx, dword [esp + 0x18]
push 0x80000000
push edx
call fcn.004534c0
add esp, 0x10
test eax, eax
jne 0x4394bc
lea eax, [esp + 0x160]
push eax
call fcn.004529d0
lea ecx, [esp + 0x16b]
push 0xfe
push ecx
mov byte [esp + 0x16c], 0x5a
mov byte [esp + 0x16e], 0x2a
call fcn.004529e0
mov ecx, dword [esp + 0x1c]
push 8
push 0xfe
lea edx, [esp + 0x380]
push edx
push 1
push 0xa
lea eax, [esp + 0x180]
push eax
add ecx, 4
push ecx
call fcn.0042da90
add esp, 0x28
test eax, eax
jne 0x4394bc
mov edx, dword [esp + 0x372]
push edx
call fcn.00452a30
lea esi, [esp + eax + 0x378]
movzx eax, word [esi + 0x1c]
push eax
call fcn.00452a30
movzx ecx, word [esi + 0x12]
push ecx
mov ebx, eax
call fcn.00452a30
add esp, 0xc
cmp ebx, eax
jle 0x4393ac
movzx edx, word [esi + 0x1c]
push edx
jmp 0x4393b1
movzx eax, word [esi + 0x12]
push eax
call fcn.00452a30
lea ecx, [eax + eax*4]
mov dword [esp + 0x5c], eax
add ecx, ecx
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 5
mov ecx, edx
add esp, 4
shr ecx, 0x1f
mov esi, 1
lea ebx, [edx + ecx - 0x14]
lea ebx, [ebx]
cmp ebx, 0xa
jle 0x4394a9
mov edx, dword [esp + 0x10]
push ebx
push 0x80000000
push edx
call fcn.004534c0
add esp, 0xc
test eax, eax
jne 0x439507
lea eax, [esp + 0x160]
push eax
call fcn.004529d0
lea ecx, [esp + 0x16b]
push 0xfe
push ecx
mov byte [esp + 0x16c], 0x5a
mov byte [esp + 0x16e], 0x2a
call fcn.004529e0
mov ecx, dword [esp + 0x1c]
push 8
push 0xfe
lea edx, [esp + 0x380]
push edx
push 1
push 0xa
lea eax, [esp + 0x180]
push eax
add ecx, 4
push ecx
call fcn.0042da90
add esp, 0x28
test eax, eax
jne 0x4394a9
mov edx, dword [esp + 0x372]
push edx
call fcn.00452a30
lea ebp, [esp + eax + 0x378]
movzx eax, word [ebp + 0x1c]
push eax
call fcn.00452a30
add esp, 8
cmp dword [esp + esi*4 + 0x54], eax
je 0x43949d
movzx ecx, word [ebp + 0x1c]
push ecx
call fcn.00452a30
add esp, 4
mov dword [esp + esi*4 + 0x58], eax
add esi, 1
sub ebx, 0x14
cmp esi, 0x20
jl 0x4393e0
mov eax, dword [esp + 0x10]
push edi
push 0x80000000
push eax
call fcn.004534c0
add esp, 0xc
mov edi, dword [esp + 0x10]
xor ebx, ebx
cmp dword [esp + 0x58], ebx
je 0x4397c4
fld qword [0x4a0370]
lea esi, [esp + 0x58]
mov ecx, dword [esi]
imul ecx, ecx, 0x64
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
fdiv st(1)
call fcn.004836d0
mov ecx, eax
cdq
mov ebp, 0xa
idiv ebp
mov dword [esi], ecx
cmp edx, 7
jne 0x439710
add ecx, 3
jmp 0x439740
mov edx, dword [esp + 0x10]
push edi
push 0x80000000
push edx
jmp 0x4394b4
movzx ecx, word [eax + 0x14]
cmp cx, si
je 0x4394bc
cmp word [eax + 0x12], si
je 0x4394bc
push ecx
call fcn.00452a30
lea ecx, [eax + eax*4]
add ecx, ecx
mov eax, 0x2e8ba2e9
imul ecx
mov ecx, dword [esp + 0x14]
sar edx, 5
push 0x80000000
mov edi, edx
push 0x80000000
shr edi, 0x1f
push ecx
add edi, edx
call fcn.004534c0
add esp, 0x10
test eax, eax
jne 0x4394bc
lea edx, [esp + 0x160]
push edx
call fcn.004529d0
lea eax, [esp + 0x16b]
push 0xfe
push eax
mov byte [esp + 0x16c], 0x5a
mov byte [esp + 0x16e], 0x2a
call fcn.004529e0
mov eax, dword [esp + 0x1c]
push 8
push 0xfe
lea ecx, [esp + 0x380]
push ecx
push 1
push 0xa
lea edx, [esp + 0x180]
push edx
add eax, 4
push eax
call fcn.0042da90
add esp, 0x28
test eax, eax
jne 0x4394bc
mov ecx, dword [esp + 0x372]
push ecx
call fcn.00452a30
movzx edx, word [esp + eax + 0x38c]
lea esi, [esp + eax + 0x378]
push edx
call fcn.00452a30
add esp, 8
cmp eax, 0xffff
jne 0x4395f3
movzx eax, word [esi + 0x12]
push eax
jmp 0x4395f8
movzx ecx, word [esi + 0x14]
push ecx
call fcn.00452a30
lea ecx, [eax + eax*4]
mov dword [esp + 0x5c], eax
add ecx, ecx
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 5
mov eax, edx
add esp, 4
shr eax, 0x1f
mov esi, 1
lea ebx, [edx + eax - 0x14]
cmp ebx, 0xa
jle 0x4394a9
mov ecx, dword [esp + 0x10]
push ebx
push 0x80000000
push ecx
call fcn.004534c0
add esp, 0xc
test eax, eax
jne 0x4396f7
lea edx, [esp + 0x160]
push edx
call fcn.004529d0
lea eax, [esp + 0x16b]
push 0xfe
push eax
mov byte [esp + 0x16c], 0x5a
mov byte [esp + 0x16e], 0x2a
call fcn.004529e0
mov eax, dword [esp + 0x1c]
push 8
push 0xfe
lea ecx, [esp + 0x380]
push ecx
push 1
push 0xa
lea edx, [esp + 0x180]
push edx
add eax, 4
push eax
call fcn.0042da90
add esp, 0x28
test eax, eax
jne 0x439507
mov ecx, dword [esp + 0x372]
push ecx
call fcn.00452a30
movzx edx, word [esp + eax + 0x38c]
lea ebp, [esp + eax + 0x378]
push edx
call fcn.00452a30
add esp, 8
cmp dword [esp + esi*4 + 0x54], eax
je 0x4396e6
movzx eax, word [ebp + 0x14]
push eax
call fcn.00452a30
add esp, 4
mov dword [esp + esi*4 + 0x58], eax
add esi, 1
sub ebx, 0x14
cmp esi, 0x20
jl 0x439621
jmp 0x4394a9
mov ecx, dword [esp + 0x10]
push edi
push 0x80000000
push ecx
jmp 0x4394b4
mov dword [esp + 0x58], esi
jmp 0x4394c0
cmp edx, 8
jne 0x43971a
add ecx, 2
jmp 0x439740
cmp edx, 9
jne 0x439724
add ecx, 1
jmp 0x439740
cmp edx, 1
jne 0x43972e
add ecx, 0xffffffff
jmp 0x439740
cmp edx, 2
jne 0x439738
add ecx, 0xfffffffe
jmp 0x439740
cmp edx, 3
jne 0x439742
add ecx, 0xfffffffd
mov dword [esi], ecx
mov eax, dword [edi + 0xa9c]
test eax, 0x3fc0
mov ecx, dword [esi]
je 0x439778
mov eax, 0xd20d20d3
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x16
mov dword [esi], ecx
jl 0x4397a0
cmp ecx, 0x1a
jg 0x4397a0
mov dword [esi], 0x18
jmp 0x4397b0
test eax, 0x1c000
je 0x43978d
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
jmp 0x439797
mov eax, 0x66666667
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [esi], ecx
mov eax, ecx
cdq
idiv ebp
sub ecx, edx
cmp edx, 5
jl 0x4397ae
add ecx, ebp
mov dword [esi], ecx
add ebx, 1
cmp dword [esp + ebx*4 + 0x58], 0
lea esi, [esp + ebx*4 + 0x58]
jne 0x4394d6
fstp st(0)
push 0x431380
push 4
lea edx, [esp + 0x60]
push ebx
push edx
call fcn.00483150
add esp, 0x10
xor esi, esi
test ebx, ebx
mov byte [esp + 0x16c], 0
jle 0x439851
jmp 0x4397f0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xa9c]
mov edi, dword [esp + esi*4 + 0x58]
push ecx
call fcn.00452ba0
mov edx, eax
shl edx, 4
add edx, esi
add esp, 4
add edx, eax
mov eax, dword [esp + 0x10]
mov dword [eax + edx*4 + 0x6e0], edi
lea eax, [esp + 0x16c]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x439825
mov ecx, dword [esp + esi*4 + 0x58]
push ecx
sub eax, edx
lea edx, [esp + eax + 0x170]
push 0x4a0368
push edx
call fcn.004822f9
add esi, 1
add esp, 0xc
cmp esi, ebx
jl 0x4397f0
mov edi, dword [esp + 0x10]
lea eax, [edi + 0x23c]
lea edx, [esp + 0x26c]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x439864
lea eax, [esp + 0x26c]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x439880
sub eax, edx
mov byte [esp + eax + 0x265], cl
cmp dword [esp + 0x24], 0
mov bl, 0x46
je 0x439986
cmp dword [edi + 0xae0], 0xffffffff
jne 0x439986
test dword [edi + 0xa9c], 0x37c0
je 0x439986
push 0x1000
lea eax, [esp + 0x370]
push 0
push eax
call fcn.00481440
lea ecx, [esp + 0x16c]
push ecx
call fcn.004529d0
lea edx, [esp + 0x172]
push 0x106
push edx
mov byte [esp + 0x178], bl
mov byte [esp + 0x179], 2
call fcn.004529e0
lea eax, [esp + 0x17f]
push 0x800
push eax
call fcn.004529e0
mov eax, dword [esp + 0x30]
push 3
push 0x800
lea ecx, [esp + 0x394]
push ecx
mov ebp, 1
push ebp
push 0xa
lea edx, [esp + 0x194]
push edx
add eax, 4
push eax
call fcn.0042da90
add esp, 0x3c
test eax, eax
jne 0x43996c
mov ecx, dword [esp + 0x36c]
push ecx
call fcn.00452a50
add esp, 4
cmp eax, 4
jle 0x439972
test byte [esp + 0x376], 1
je 0x439972
mov edx, dword [esp + 0x10]
mov dword [edx + 0xae0], ebp
mov edi, dword [esp + 0x10]
jmp 0x43998b
mov eax, dword [esp + 0x10]
mov dword [eax + 0xae0], 0
mov edi, dword [esp + 0x10]
jmp 0x43998b
mov ebp, 1
xor esi, esi
cmp dword [esp + 0x2c], esi
je 0x439a7c
cmp byte [edi + 0xb00], 0xff
jne 0x439a7c
mov byte [edi + 0xb00], 0
mov edi, dword [esp + 0x10]
cmp dword [edi + 0xab4], ebp
je 0x439a7c
test dword [edi + 0x1484], 0x2000
je 0x439a7c
lea ecx, [esp + 0x160]
push ecx
call fcn.004529d0
lea edx, [esp + 0x16b]
push 0x18
push edx
mov byte [esp + 0x16c], 0x42
mov byte [esp + 0x16e], 0x40
mov byte [esp + 0x16f], 2
mov byte [esp + 0x172], 0
call fcn.004529e0
mov edx, dword [esp + 0x1c]
push 0xa
push 0x18
lea eax, [esp + 0x380]
push eax
push ebp
push 0xa
lea ecx, [esp + 0x180]
push ecx
add edx, 4
push edx
call fcn.0042da90
add esp, 0x28
test eax, eax
jne 0x439a78
cmp word [esp + 0x36e], si
je 0x439a78
cmp byte [esp + 0x374], al
je 0x439a78
mov ecx, dword [esp + 0x10]
add ecx, 0xb00
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov word [ecx + 0xc], ax
mov ecx, dword [esp + 0x10]
push 0xd
lea eax, [esp + 0x379]
push eax
add ecx, 0xb00
push ecx
call fcn.00481900
add esp, 0xc
mov edi, dword [esp + 0x10]
cmp dword [esp + 0x20], esi
je 0x439bea
cmp dword [edi + 0xad8], 0xffffffff
jne 0x439bea
mov dword [edi + 0xad8], ebp
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0xa9c]
cmp eax, 0x200
jg 0x439ba1
je 0x439bbf
cmp eax, 0x40
jg 0x439b91
je 0x439bbf
sub eax, ebp
je 0x439bbf
sub eax, ebp
je 0x439ad8
sub eax, 2
jne 0x439bea
push 0x1000
lea edx, [esp + 0x370]
push esi
push edx
call fcn.00481440
lea eax, [esp + 0x16c]
push eax
call fcn.004529d0
lea ecx, [esp + 0x172]
push 0x2e
push ecx
mov byte [esp + 0x178], bl
mov byte [esp + 0x179], 2
call fcn.004529e0
lea edx, [esp + 0x17f]
push 0x800
push edx
call fcn.004529e0
mov edx, dword [esp + 0x30]
push 3
push 0x800
lea eax, [esp + 0x394]
push eax
push ebp
push 0xa
lea ecx, [esp + 0x194]
push ecx
add edx, 4
push edx
call fcn.0042da90
add esp, 0x3c
test eax, eax
jne 0x439be6
mov eax, dword [esp + 0x36c]
push eax
call fcn.00452a50
add esp, 4
cmp eax, 4
jle 0x439b85
test byte [esp + 0x378], 4
je 0x439b85
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xad8], ebp
jmp 0x439be6
mov edx, dword [esp + 0x10]
mov dword [edx + 0xad8], esi
jmp 0x439be6
cmp eax, 0x80
je 0x439bd5
cmp eax, 0x100
je 0x439bd5
jmp 0x439bea
cmp eax, 0x2000
jg 0x439bc7
je 0x439bd5
cmp eax, 0x400
je 0x439bbf
cmp eax, 0x800
je 0x439bbf
cmp eax, 0x1000
jne 0x439bea
mov dword [edi + 0xad8], esi
jmp 0x439be6
cmp eax, 0x8000
je 0x439bd5
cmp eax, 0x10000
jne 0x439bea
mov eax, dword [edi + 0x300]
shr eax, 0xe
and eax, ebp
mov dword [edi + 0xad8], eax
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x44]
cmp eax, esi
je 0x439bfa
mov ecx, dword [edi + 0xaec]
mov dword [eax], ecx
mov eax, dword [esp + 0x3c]
cmp eax, esi
je 0x439c0a
mov edx, dword [edi + 0xaf4]
mov dword [eax], edx
mov eax, dword [esp + 0x48]
cmp eax, esi
je 0x439c1a
mov ecx, dword [edi + 0xac0]
mov dword [eax], ecx
mov ebx, dword [esp + 0x34]
cmp ebx, esi
je 0x439dbe
test dword [edi + 0xa9c], 0x10d24
mov dword [ebx], 0xffffffff
je 0x439dbe
push 0x1000
lea edx, [esp + 0x370]
push esi
push edx
call fcn.00481440
add esp, 0xc
test byte [edi + 0xa9c], 4
je 0x439cf9
lea eax, [esp + 0x160]
push eax
call fcn.004529d0
lea ecx, [esp + 0x16b]
push 0x1000
push ecx
mov byte [esp + 0x16c], 0x43
mov byte [esp + 0x16e], 4
mov byte [esp + 0x172], 0
call fcn.004529e0
mov ecx, dword [esp + 0x1c]
push 0x1e
push 0x1000
lea edx, [esp + 0x380]
push edx
push ebp
push 0xa
lea eax, [esp + 0x180]
push eax
add ecx, 4
push ecx
call fcn.0042da90
add esp, 0x28
test eax, eax
jne 0x439dba
movzx eax, byte [esp + 0x378]
mov edx, eax
shl edx, 4
sub edx, eax
movzx eax, byte [esp + 0x379]
lea ecx, [eax + edx*4]
movzx edx, byte [esp + 0x37a]
imul ecx, ecx, 0x4b
lea eax, [ecx + edx - 0x98]
jmp 0x439db8
lea ecx, [esp + 0x160]
push ecx
call fcn.004529d0
lea edx, [esp + 0x16b]
push 0x10c
push edx
mov byte [esp + 0x16c], 0x23
call fcn.004529e0
mov edx, dword [esp + 0x1c]
push 8
push 0x10c
lea eax, [esp + 0x380]
push eax
push ebp
push 0xa
lea ecx, [esp + 0x180]
push ecx
add edx, 4
push edx
call fcn.0042da90
add esp, 0x28
test eax, eax
jne 0x439dba
movzx esi, byte [esp + 0x36f]
mov edi, dword [esp + 0x10]
shr esi, 3
test dword [edi + 0xa9c], 0x10900
lea ecx, [esp + 0x370]
je 0x439d85
test esi, esi
jle 0x439da9
test byte [ecx + 4], 0xff
je 0x439da9
add eax, ebp
add ecx, 8
cmp eax, esi
jl 0x439d74
jmp 0x439da9
test esi, esi
jle 0x439da9
lea esp, [esp]
mov dl, byte [ecx + 4]
test dl, 3
jne 0x439da0
and dl, 0xfc
cmp dl, 0x98
je 0x439da9
add eax, ebp
add ecx, 8
cmp eax, esi
jl 0x439d90
cmp eax, esi
je 0x439dbe
mov eax, dword [ecx]
push eax
call fcn.00452a50
add esp, 4
mov dword [ebx], eax
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x439e68
mov ecx, dword [edi + 0xa9c]
push ecx
xor esi, esi
call fcn.00452ba0
mov edi, dword [esp + 0x14]
mov edx, eax
shl edx, 4
add edx, eax
add esp, 4
cmp dword [edi + edx*4 + 0x328], esi
je 0x439e61
nop
mov eax, dword [edi + 0xa9c]
push eax
call fcn.00452ba0
mov edi, dword [esp + 0x14]
mov ecx, eax
shl ecx, 4
add ecx, esi
add ecx, eax
add esp, 4
cmp dword [edi + ecx*4 + 0x328], 0xffffffff
je 0x439e61
mov edx, dword [edi + 0xa9c]
push edx
call fcn.00452ba0
mov ecx, eax
shl ecx, 4
add ecx, esi
add ecx, eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + ecx*4 + 0x328]
mov dword [ebx + esi*4], edx
mov eax, dword [eax + 0xa9c]
push eax
add esi, ebp
call fcn.00452ba0
mov edi, dword [esp + 0x18]
mov ecx, eax
shl ecx, 4
add ecx, esi
add ecx, eax
add esp, 8
cmp dword [edi + ecx*4 + 0x328], 0
jne 0x439df0
mov dword [ebx + esi*4], 0
cmp dword [esp + 0x1c], 0
je 0x439f18
mov edx, dword [edi + 0xa9c]
push edx
xor esi, esi
call fcn.00452ba0
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
mov ecx, eax
shl ecx, 4
add ecx, eax
add esp, 4
cmp dword [edi + ecx*4 + 0x6e0], esi
je 0x439f11
lea esp, [esp]
mov edx, dword [edi + 0xa9c]
push edx
call fcn.00452ba0
mov edi, dword [esp + 0x14]
mov ecx, eax
shl ecx, 4
add ecx, esi
add ecx, eax
add esp, 4
cmp dword [edi + ecx*4 + 0x6e0], 0xffffffff
je 0x439f11
mov edx, dword [edi + 0xa9c]
push edx
call fcn.00452ba0
mov ecx, eax
shl ecx, 4
add ecx, esi
add ecx, eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + ecx*4 + 0x6e0]
mov dword [ebx + esi*4], edx
mov eax, dword [eax + 0xa9c]
push eax
add esi, ebp
call fcn.00452ba0
mov edi, dword [esp + 0x18]
mov ecx, eax
shl ecx, 4
add ecx, esi
add ecx, eax
add esp, 8
cmp dword [edi + ecx*4 + 0x6e0], 0
jne 0x439ea0
mov dword [ebx + esi*4], 0
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x439f36
push 8
add edi, 0xae4
push edi
push eax
call fcn.00481900
mov edi, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [esp + 0x24]
test eax, eax
je 0x439f46
mov edx, dword [edi + 0xae0]
mov dword [eax], edx
mov eax, dword [esp + 0x40]
test eax, eax
je 0x439f56
mov ecx, dword [edi + 0xafc]
mov dword [eax], ecx
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x439f71
lea eax, [edi + 0xb00]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, ebp
test cl, cl
jne 0x439f66
mov ebp, dword [esp + 0x54]
test ebp, ebp
je 0x439f82
mov edx, dword [edi + 0xadc]
mov dword [ebp], edx
mov eax, dword [esp + 0x20]
test eax, eax
je 0x439f92
mov ecx, dword [edi + 0xad8]
mov dword [eax], ecx
mov ebx, dword [esp + 0x38]
xor esi, esi
jmp 0x439f9f
mov esi, 0x1d
pop edi
cmp dword [0x4bd458], 0
je 0x43a0af
mov edx, dword [esp + 0x1c]
push edx
call fcn.00452c60
add esp, 4
push eax
push ebp
call fcn.00452c60
add esp, 4
push eax
mov eax, dword [esp + 0x44]
push eax
call fcn.00452c60
add esp, 4
push eax
push ebx
call fcn.00452c70
mov ecx, dword [esp + 0x38]
add esp, 4
push eax
push ecx
call fcn.00452c70
mov edx, dword [esp + 0x34]
add esp, 4
push eax
push edx
call fcn.00452c60
add esp, 4
push eax
mov eax, dword [esp + 0x60]
push eax
call fcn.00452c60
mov ecx, dword [esp + 0x34]
add esp, 4
push eax
push ecx
call fcn.00452c60
mov edx, dword [esp + 0x44]
add esp, 4
push eax
push edx
call fcn.00452c60
add esp, 4
push eax
mov eax, dword [esp + 0x54]
push eax
call fcn.00452c60
mov ecx, dword [esp + 0x6c]
add esp, 4
push eax
push ecx
call fcn.00452c60
mov edx, dword [esp + 0x64]
add esp, 4
push eax
push edx
call fcn.00452c60
add esp, 4
push eax
mov eax, dword [esp + 0x70]
push eax
call fcn.00452c60
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x13a4]
add esp, 4
push eax
add ecx, 4
push ecx
push edx
push esi
call sub.KERNEL32.dll_GetCurrentThreadId
push eax
call fcn.0042ca30
test eax, eax
mov dword [esp + 0x78], eax
fild dword [esp + 0x78]
jge 0x43a089
fadd dword [0x49f698]
fdiv qword [0x49f690]
mov eax, dword [esp + 0x90]
sub esp, 8
fstp qword [esp]
push eax
push str.____06d____012.6f____04X___x_08X__PzGetDiscAdvancedInfo___x_04X__s___d___d___d___d___d___d___d___d___s___s__x_08X__x_08X___d____r_n
push 0x4cb080
call fcn.00432450
add esp, 0x58
mov ecx, dword [esp + 0x1368]
mov eax, esi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004810ab
add esp, 0x1360
ret 0x38