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

Disassembly:
push ebp
push ebx
push esi
push edi
add esp, 0xffffff5c
mov dword [esp + 8], 0
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
mov ebx, dword [eax]
mov dword [esp + 0x68], ebx
mov eax, dword [eax + 4]
mov dword [esp + 0x6c], eax
mov ebx, dword [ecx]
mov dword [esp + 0x5c], ebx
mov ebx, dword [ecx + 4]
mov dword [esp + 0x60], ebx
mov ecx, dword [ecx + 8]
mov dword [esp + 0x64], ecx
mov al, byte [esp + 0x5d]
mov cl, al
and cl, 7
cmp cl, 7
ja case.default.0x435e00
and ecx, 0xff
jmp dword [ecx*4 + 0x4369f4]
mov dword [esp + 0x78], 0xff
mov dword [esp + 0x74], 0xff
mov dword [esp + 0x70], 0xff
jmp case.default.0x435e00
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0xff
mov dword [esp + 0x70], 0xff
jmp case.default.0x435e00
mov dword [esp + 0x78], 0xff
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0xff
jmp case.default.0x435e00
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0xff
jmp case.default.0x435e00
mov dword [esp + 0x78], 0xff
mov dword [esp + 0x74], 0xff
mov dword [esp + 0x70], 0
jmp case.default.0x435e00
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0xff
mov dword [esp + 0x70], 0
jmp case.default.0x435e00
mov dword [esp + 0x78], 0xff
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
jmp case.default.0x435e00
mov dword [esp + 0x78], pe_nt_image_headers32
mov dword [esp + 0x74], pe_nt_image_headers32
mov dword [esp + 0x70], pe_nt_image_headers32
cmp al, 8
jb 0x435ef1
shr dword [esp + 0x70], 1
shr dword [esp + 0x74], 1
shr dword [esp + 0x78], 1
mov eax, dword [esp + 0x70]
imul eax, edx
shr eax, 6
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x74]
imul ecx, edx
shr ecx, 6
mov dword [esp + 0x74], ecx
imul edx, dword [esp + 0x78]
shr edx, 6
mov dword [esp + 0x78], edx
mov bl, byte [esp + 0x5c]
cmp bl, 0x31
je 0x43693e
cmp bl, 0x36
je 0x43693e
cmp bl, 0x34
je 0x4365de
cmp bl, 0x39
je 0x4365de
cmp bl, 0x33
je 0x4362a9
cmp bl, 0x38
je 0x4362a9
cmp bl, 0x30
je 0x435f6b
cmp bl, 0x32
je 0x435f6b
cmp bl, 0x35
je 0x435f6b
cmp bl, 0x37
jne 0x4369e6
lea ebp, [esp + 0x8c]
push ebp
lea esi, [esp + 0x8c]
push esi
lea ebp, [esp + 0x5c]
push ebp
fld dword [esp + 0x70]
fsubr dword [esp + 0x78]
fstp dword [esp + 0x64]
fld dword [esp + 0x6c]
fsubr dword [esp + 0x74]
fstp dword [esp + 0x60]
fld dword [esp + 0x70]
fadd dword [esp + 0x78]
fstp dword [esp + 0x5c]
mov esi, dword [esp + 0x74]
mov dword [esp + 0x58], esi
call fcn.004306b0
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x94]
push ecx
lea eax, [esp + 0x54]
push eax
call fcn.004306b0
cmp bl, 0x30
je 0x435fd5
cmp bl, 0x35
jne 0x435ff7
fld dword [esp + 0x8c]
fsubr dword [esp + 0x94]
fmul dword [0x46c560]
fsubr dword [esp + 0x90]
fstp dword [esp + 0x88]
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax + 4]
lea edi, [ecx - 1]
push edi
fld dword [esp + 0x90]
fadd dword [0x46c560]
sub esp, 4
fstp dword [esp]
call fcn.00435c10
mov dword [esp + 0x80], eax
push edi
fld dword [esp + 0x98]
fadd dword [0x46c560]
sub esp, 4
fstp dword [esp]
call fcn.00435c10
mov edi, eax
fld dword [esp + 0x8c]
fsubr dword [esp + 0x94]
fmul dword [0x46c560]
fstp dword [esp + 0xa0]
cmp bl, 0x35
je 0x436072
cmp bl, 0x37
je 0x43606b
mov byte [esp + 0x7e], 0
jmp 0x436077
mov byte [esp + 0x7e], 1
jmp 0x436077
mov byte [esp + 0x7e], 1
test dword [esp + 0xa0], 0x7fffffff
je 0x4369e6
fld dword [esp + 0x90]
fcomp dword [esp + 0x88]
fnstsw ax
and ah, 0x40
jne 0x4369e6
cmp dword [esp + 0x80], edi
jae 0x4369e6
xor eax, eax
mov dword [esp + 0x24], eax
jmp 0x4360c0
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
fld dword [esp + 0xa0]
fadd dword [esp + 0x8c]
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
mov dword [esp + 8], 0
fild qword [esp + 4]
fsubp st(1)
fdiv dword [esp + 0xa0]
sub esp, 4
fstp dword [esp]
call fcn.004375d0
fsubr dword [0x46c56c]
fstp dword [esp + 0x98]
cmp dword [esp + 0x98], 1
sbb ecx, ecx
or ecx, dword [esp + 0x98]
jg 0x436122
xor eax, eax
mov dword [esp + 0x98], eax
fld dword [esp + 0x88]
fsubr dword [esp + 0x90]
fld dword [esp + 0x98]
fsqrt
fmulp st(1)
fst dword [esp + 0x20]
fsub dword [esp + 0x24]
fabs
fcomp dword [0x46c56c]
fnstsw ax
and ah, 1
je 0x436159
mov byte [esp + 0x7f], 0
jmp 0x43615e
mov byte [esp + 0x7f], 1
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax + 0xc]
lea esi, [ecx - 1]
push esi
fld dword [esp + 0x94]
fadd dword [0x46c560]
sub esp, 4
fstp dword [esp]
call fcn.00435c10
mov ebp, eax
push esi
fld dword [esp + 0x24]
fsubr dword [esp + 0x94]
fadd dword [0x46c560]
sub esp, 4
fstp dword [esp]
call fcn.00435c10
inc eax
cmp ebp, eax
jae 0x4361b2
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x28], ecx
jmp 0x436213
mov ecx, ebp
sub ecx, eax
lea esi, [ecx + 1]
xor ecx, ecx
mov dword [esp + 0x9c], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x3c], edx
jmp 0x4361d9
mov esi, ecx
mov edx, dword [esp + 0x98]
mov dword [esp + 0x3c], edx
lea ecx, [esp + 0xb4]
push ecx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x9c], edx
mov dword [esp + 0x88], eax
call fcn.00435c40
mov eax, dword [esp + 0x84]
inc eax
lea ecx, [esi - 1]
cmp esi, 1
jne 0x4361cc
mov edx, dword [esp + 0x98]
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax + 0xc]
dec ecx
push ecx
fld dword [esp + 0x2c]
fadd dword [esp + 0x94]
fadd dword [0x46c560]
sub esp, 4
fstp dword [esp]
call fcn.00435c10
dec eax
inc ebp
cmp eax, ebp
jb 0x436290
mov ecx, eax
sub ecx, ebp
lea esi, [ecx + 1]
xor ecx, ecx
mov dword [esp + 0x9c], ecx
jmp 0x436261
mov esi, ecx
mov edx, dword [esp + 0x98]
mov dword [esp + 0x28], edx
lea ecx, [esp + 0xb4]
push ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x9c], edx
mov dword [esp + 0x88], eax
call fcn.00435c40
mov eax, dword [esp + 0x84]
dec eax
lea ecx, [esi - 1]
cmp esi, 1
jne 0x436254
inc dword [esp + 0x80]
cmp dword [esp + 0x80], edi
jb 0x4360b8
jmp 0x4369e6
lea ebp, [esp + 0x8c]
push ebp
lea esi, [esp + 0x8c]
push esi
lea ebp, [esp + 0x5c]
push ebp
fld dword [esp + 0x70]
fadd dword [esp + 0x78]
fstp dword [esp + 0x3c]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x64], esi
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x60], ebp
fld dword [esp + 0x70]
fsubr dword [esp + 0x78]
fstp dword [esp + 0x5c]
fld dword [esp + 0x6c]
fsubr dword [esp + 0x74]
fstp dword [esp + 0x38]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x58], edi
call fcn.004306b0
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x94]
push ecx
lea eax, [esp + 0x54]
push eax
call fcn.004306b0
push 0
push 0xc8
push dword [esp + 0x80]
push dword [esp + 0x80]
push dword [esp + 0x80]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xdc]
call fcn.0042d050
lea ecx, [esp + 0x94]
push ecx
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x54]
push ecx
fld dword [esp + 0x6c]
fadd dword [esp + 0x74]
fstp dword [esp + 0x58]
call fcn.004306b0
push 0
push 0xc8
push dword [esp + 0x80]
push dword [esp + 0x80]
push dword [esp + 0x80]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xdc]
call fcn.0042d050
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x8c]
push ecx
lea eax, [esp + 0x5c]
push eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], edi
call fcn.004306b0
push 0
push 0xc8
push dword [esp + 0x80]
push dword [esp + 0x80]
push dword [esp + 0x80]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xdc]
call fcn.0042d050
cmp bl, 0x38
jne 0x4369e6
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x8c]
push ecx
lea eax, [esp + 0x5c]
push eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], ebp
call fcn.004306b0
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x94]
push ecx
lea eax, [esp + 0x54]
push eax
call fcn.004306b0
fld dword [esp + 0x8c]
fsubr dword [esp + 0x94]
fstp dword [esp + 0x10]
test dword [esp + 0x10], 0x7fffffff
je 0x4369e6
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax + 4]
lea ebx, [ecx - 1]
push ebx
push dword [esp + 0x90]
call fcn.00435c10
mov dword [esp + 0x80], eax
push ebx
push dword [esp + 0x98]
call fcn.00435c10
mov ebx, eax
fld dword [esp + 0x88]
fsubr dword [esp + 0x90]
fdiv dword [esp + 0x10]
fstp dword [esp + 0x10]
cmp dword [esp + 0x80], ebx
jae 0x4369e6
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x80]
lea eax, [ecx + edx*2]
lea edi, [eax*2]
cmp esp, 0
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
mov dword [esp + 8], 0
fild qword [esp + 4]
fsubr dword [esp + 0x94]
fmul dword [esp + 0x10]
fstp dword [esp + 0xc]
mov ecx, dword [esp + 0xb8]
mov eax, dword [ecx + 0xc]
lea esi, [eax - 1]
push esi
fld dword [esp + 0x10]
fsubr dword [esp + 0x94]
sub esp, 4
fstp dword [esp]
call fcn.00435c10
mov ebp, eax
push esi
fld dword [esp + 0x10]
fadd dword [esp + 0x94]
sub esp, 4
fstp dword [esp]
call fcn.00435c10
cmp eax, ebp
jb 0x4365c2
sub eax, ebp
lea esi, [eax + 1]
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
add ecx, edi
imul ebp, edx
jmp 0x436592
mov esi, eax
push 0x1e
push dword [esp + 0x7c]
push dword [esp + 0x7c]
push dword [esp + 0x7c]
lea eax, [ecx + ebp]
push eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
call fcn.004397e0
mov edx, dword [esp + 4]
mov ecx, dword [esp]
add ebp, edx
lea eax, [esi - 1]
cmp esi, 1
jne 0x436590
inc dword [esp + 0x80]
add edi, 6
cmp dword [esp + 0x80], ebx
jb 0x436510
jmp 0x4369e6
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x8c]
push ecx
lea eax, [esp + 0x5c]
push eax
fld dword [esp + 0x70]
fadd dword [esp + 0x78]
fstp dword [esp + 0x54]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x64], ecx
fld dword [esp + 0x6c]
fsubr dword [esp + 0x74]
fstp dword [esp + 0x50]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], ecx
fld dword [esp + 0x6c]
fadd dword [esp + 0x74]
fstp dword [esp + 0x4c]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x58], ecx
call fcn.004306b0
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x94]
push ecx
lea eax, [esp + 0x54]
push eax
call fcn.004306b0
push 0
push 0xc8
push dword [esp + 0x80]
push dword [esp + 0x80]
push dword [esp + 0x80]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xdc]
call fcn.0042d050
lea ecx, [esp + 0x8c]
push ecx
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x5c]
push ecx
fld dword [esp + 0x70]
fsubr dword [esp + 0x78]
fstp dword [esp + 0x5c]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x60], ecx
call fcn.004306b0
push 0
push 0xc8
push dword [esp + 0x80]
push dword [esp + 0x80]
push dword [esp + 0x80]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xdc]
call fcn.0042d050
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x94]
push ecx
lea eax, [esp + 0x54]
push eax
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x58], ecx
call fcn.004306b0
push 0
push 0xc8
push dword [esp + 0x80]
push dword [esp + 0x80]
push dword [esp + 0x80]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xdc]
call fcn.0042d050
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x8c]
push ecx
lea eax, [esp + 0x5c]
push eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x50]
mov dword [esp + 0x60], eax
call fcn.004306b0
push 0
push 0xc8
push dword [esp + 0x80]
push dword [esp + 0x80]
push dword [esp + 0x80]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xdc]
call fcn.0042d050
cmp bl, 0x39
jne 0x4369e6
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x8c]
push ecx
lea eax, [esp + 0x5c]
push eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x50]
mov dword [esp + 0x60], eax
mov edx, dword [esp + 0x54]
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x58], ebx
call fcn.004306b0
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x94]
push ecx
lea eax, [esp + 0x54]
push eax
call fcn.004306b0
mov ecx, dword [esp + 0xb8]
mov eax, dword [ecx + 0xc]
lea edi, [eax - 1]
push edi
push dword [esp + 0x8c]
call fcn.00435c10
mov esi, eax
push edi
push dword [esp + 0x94]
call fcn.00435c10
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xb8]
mov edx, dword [ecx + 4]
lea edi, [edx - 1]
push edi
push dword [esp + 0x90]
call fcn.00435c10
mov dword [esp + 0x80], eax
push edi
push dword [esp + 0x98]
call fcn.00435c10
mov dword [esp + 0x18], eax
cmp dword [esp + 0x80], eax
jae 0x4369e6
mov ecx, dword [esp + 0x14]
sub ecx, esi
inc ecx
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x80]
mov edi, dword [esp + 0x80]
lea eax, [edx + edi*2]
lea ebp, [eax*2]
cmp dword [esp + 0x14], esi
jb 0x436922
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax]
mov edi, dword [eax + 8]
lea ebx, [ecx + ebp]
mov edx, edi
imul edx, esi
mov ecx, dword [esp + 0x38]
jmp 0x4368f2
mov ecx, eax
push 0x1e
push dword [esp + 0x7c]
push dword [esp + 0x7c]
push dword [esp + 0x7c]
lea eax, [ebx + edx]
push eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
call fcn.004397e0
mov edx, dword [esp + 4]
mov ecx, dword [esp]
add edx, edi
lea eax, [ecx - 1]
cmp ecx, 1
jne 0x4368f0
inc dword [esp + 0x80]
add ebp, 6
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x80], eax
jb 0x4368d0
jmp 0x4369e6
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x8c]
push ecx
lea eax, [esp + 0x5c]
push eax
fld dword [esp + 0x70]
fadd dword [esp + 0x78]
fstp dword [esp + 0x64]
fld dword [esp + 0x6c]
fsubr dword [esp + 0x74]
fstp dword [esp + 0x60]
fld dword [esp + 0x70]
fsubr dword [esp + 0x78]
fstp dword [esp + 0x5c]
fld dword [esp + 0x6c]
fadd dword [esp + 0x74]
fstp dword [esp + 0x58]
call fcn.004306b0
lea ecx, [esp + 0x94]
push ecx
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x54]
push ecx
call fcn.004306b0
push 0
push 0x12c
push dword [esp + 0x80]
push dword [esp + 0x80]
push dword [esp + 0x80]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xa8]
push dword [esp + 0xdc]
call fcn.0042d050
sub esp, 0xffffff5c
pop edi
pop esi
pop ebx
pop ebp
ret 0x10