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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x68dd58
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x70c004]
xor eax, esp
mov dword [esp + 0x50], eax
push ebx
push esi
push edi
mov eax, dword [0x70c004]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edi, ecx
mov dword [edi + 0x2f64], eax
mov ecx, dword [edi + 0x1c10]
sub ecx, dword [edi + 0x1c0c]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
xor esi, esi
test ecx, ecx
jle 0x438530
lea ebx, [edi + 0x1cbc]
mov eax, dword [edi + 8]
mov edx, dword [edi + 0x2f60]
push edx
lea ecx, [eax + 0x1f90]
call fcn.00468832
mov ecx, eax
dec ecx
mov eax, 0x38e38e39
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jg 0x4384b6
lea eax, [edi + 0x1c00]
push esi
call fcn.0044fd00
cmp dword [ebp + 8], esi
jne 0x438492
cmp dword [eax], 0
je 0x4384ac
push esi
lea eax, [edi + 0x1c00]
call fcn.0044fd00
mov ecx, dword [eax]
mov eax, dword [ecx]
mov edx, dword [eax + 0x74]
call edx
push 1
push esi
call fcn.00438780
jmp 0x438502
cmp dword [eax], 0
je 0x4384ac
push esi
lea eax, [edi + 0x1c00]
call fcn.0044fd00
mov ecx, dword [eax]
mov eax, dword [ecx]
mov edx, dword [eax + 0x78]
call edx
push 1
push esi
call fcn.00438780
jmp 0x438502
mov eax, dword [edi + 8]
lea ecx, [eax + 0x80918]
call fcn.0046f4f8
mov ecx, eax
call fcn.004741a6
fstp st(0)
mov eax, dword [edi + 8]
lea ecx, [esp + 0x34]
push ecx
lea ecx, [eax + 0x80918]
call fcn.0046f4f8
mov ecx, eax
call fcn.00474569
mov edx, dword [ebx]
mov eax, dword [edx + 0x7c]
mov ecx, ebx
call eax
mov edx, dword [ebx]
mov eax, 0xffffd8f1
mov ecx, eax
push ecx
push eax
mov eax, dword [edx + 0x2c]
mov ecx, ebx
call eax
mov ecx, dword [edi + 0x1c10]
sub ecx, dword [edi + 0x1c0c]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
inc esi
add ecx, edx
add ebx, 0x84
cmp esi, ecx
jl 0x438431
lea ebx, [edi + 0x22ac]
lea ecx, [edi + 0x2750]
lea edx, [edi + 0x2f30]
mov dword [edi + 0x22a4], 2
xor esi, esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], edx
jmp 0x438564
mov ecx, dword [esp + 0x18]
mov byte [edi + esi + 0x2ef4], 0
mov eax, dword [ecx]
mov edx, dword [eax + 4]
call edx
mov ecx, dword [edi + 0x2f60]
mov eax, dword [edi + 8]
push ecx
lea ecx, [eax + 0x1f90]
call fcn.00468832
mov edx, dword [edi + 0x2f64]
lea ecx, [esi + edx*8]
add ecx, edx
cmp ecx, eax
mov eax, dword [edi + 8]
jge 0x43872d
mov edx, dword [edi + 0x2f60]
push ecx
push edx
lea ecx, [eax + 0x1f90]
call fcn.00468890
xor ecx, ecx
cmp eax, ecx
je 0x4386e1
mov ebx, dword [eax + 0x4c]
sub ebx, dword [eax + 0x48]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
lea ecx, [eax + 0x3c]
xor dl, dl
sar ebx, 6
mov byte [esp + 0x17], dl
mov dword [esp + 0x30], ecx
mov dword [esp + 0x24], 0
test ebx, ebx
jle 0x43863a
mov dword [esp + 0x2c], ebx
jmp 0x4385f4
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
mov eax, dword [edi + 8]
push edx
mov dword [esp + 0x38], eax
call fcn.00438870
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x438620
mov ecx, dword [esp + 0x34]
cmp dword [ecx + eax*4 + 0x138e0], 0
setne al
test al, al
je 0x438629
inc dword [esp + 0x28]
mov byte [esp + 0x17], 1
mov eax, dword [esp + 0x24]
inc eax
cmp eax, ebx
mov dword [esp + 0x24], eax
jl 0x4385f0
mov dl, byte [esp + 0x17]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov byte [edi + esi + 0x2ef4], dl
mov dword [eax - 0x30], ecx
mov ecx, dword [esp + 0x2c]
mov dword [eax], ecx
test dl, dl
je 0x438722
mov eax, dword [edi + 0x2f64]
mov ecx, dword [edi + 8]
lea edx, [esi + eax*8]
add edx, eax
mov eax, dword [edi + 0x2f60]
push edx
push eax
add ecx, 0x1f90
call fcn.00468890
xor ebx, ebx
push 0xffffffffffffffff
add eax, 4
push ebx
push eax
lea ecx, [esp + 0x50]
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], ebx
mov byte [esp + 0x54], bl
call fcn.00404d30
mov ecx, dword [esp + 0x18]
push ebx
push 1
mov dword [esp + 0x78], ebx
mov edx, dword [ecx]
mov edx, dword [edx + 0x140]
push 0x15
lea eax, [esp + 0x50]
push eax
call edx
push ebx
mov eax, esi
call fcn.00442110
mov dword [esp + 0x70], 0xffffffff
cmp dword [esp + 0x5c], 0x10
jb 0x4386dd
mov eax, dword [esp + 0x48]
push eax
call fcn.0045c06d
add esp, 4
mov ebx, dword [esp + 0x1c]
add dword [esp + 0x20], 4
add dword [esp + 0x18], 0x94
inc esi
add ebx, 0x84
mov dword [esp + 0x1c], ebx
cmp esi, 9
jb 0x438560
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x50]
xor ecx, esp
call fcn.00649a98
mov esp, ebp
pop ebp
ret 4
push 1
mov eax, esi
call fcn.00442110
jmp 0x4386dd
lea ecx, [eax + 0x80918]
call fcn.0046f4f8
mov ecx, eax
call fcn.004741a6
fstp st(0)
mov eax, dword [edi + 8]
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [eax + 0x80918]
call fcn.0046f4f8
mov ecx, eax
call fcn.00474569
mov edx, dword [ebx]
mov eax, 0xffffd8f1
mov ecx, eax
push ecx
push eax
mov eax, dword [edx + 0x2c]
mov ecx, ebx
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 0x7c]
mov ecx, ebx
call eax
jmp 0x4386e1