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

Disassembly:
sub esp, 0xfc
mov edx, dword [esp + 0x100]
push ebx
push ebp
mov ebp, dword [edx + 0xc]
push esi
push edi
mov ecx, ebp
mov byte [esp + 0x17], 1
call fcn.0053feb0
mov ecx, dword [edx + 0x58]
or esi, 0xffffffff
test ecx, ecx
je 0x53206f
mov si, word [ecx]
jmp 0x532081
mov ecx, dword [edx + 0x54]
cmp ecx, 0xffffffff
je 0x532081
shl ecx, 4
mov si, word [ecx + 0x6d9900]
mov cx, word [edx + 0x10]
mov word [esp + 0x1c], cx
mov ecx, dword [ebp + 0x58]
test ecx, ecx
je 0x532b7a
mov edx, dword [ecx + 0x70]
test edx, edx
je 0x532b7a
movsx esi, si
movsx eax, ax
lea edx, [esi + esi*2]
lea ecx, [eax + edx*2]
movsx edx, word [ecx*2 + 0x69e568]
mov eax, dword [edx*8 + 0x69e360]
mov ecx, dword [0x71d09c]
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0x170]
test eax, eax
jge 0x5320d4
mov byte [esp + 0x17], 0
mov ecx, dword [0x71d09c]
mov edx, dword [ecx]
lea eax, [esi + esi*2]
mov eax, dword [eax*4 + 0x6e19b8]
push eax
push ecx
call dword [edx + 0x15c]
test eax, eax
jge 0x5320f7
mov byte [esp + 0x17], 0
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x1ac]
test eax, eax
jge 0x532110
mov byte [esp + 0x17], 0
mov eax, dword [ebp + 0x48]
xor ebx, ebx
test eax, eax
jle 0x53217d
xor eax, eax
jmp 0x532120
mov esi, dword [esp + 0x110]
mov edx, dword [ebp + 0x4c]
shl eax, 4
mov ecx, 0x2a
lea edi, [esp + 0x60]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x87b7b4]
mov dword [esp + 0xf8], 0xffffffff
mov eax, dword [eax + edx + 0xc]
and eax, 0xffff
shl eax, 5
mov edx, dword [eax + ecx + 0x14]
mov eax, dword [esp + 0x114]
push eax
lea ecx, [esp + 0x64]
push ecx
mov dword [esp + 0x74], edx
call fcn.005339c0
mov ecx, dword [ebp + 0x48]
add esp, 8
inc ebx
movsx eax, bx
cmp eax, ecx
jl 0x532120
mov eax, dword [0x71d09c]
mov edx, dword [eax]
xor ecx, ecx
mov cl, byte [ebp + 0x29]
shr ecx, 1
not ecx
and ecx, 2
or ecx, 1
push ecx
push 0x16
push eax
call dword [edx + 0xe4]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 7
push 0xa8
push eax
call dword [edx + 0xe4]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 1
push 0x1b
push eax
call dword [ecx + 0xe4]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
xor ecx, ecx
mov cl, byte [ebp + 0x29]
and ecx, 1
push ecx
push 0xf
push eax
call dword [edx + 0xe4]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 0x7f
push 0x18
push eax
call dword [edx + 0xe4]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 0
push 0x1c
push eax
call dword [ecx + 0xe4]
mov cx, word [ebp + 0x2c]
call fcn.00518780
mov al, byte [ebp + 0x29]
test al, al
jns 0x532366
mov eax, dword [esp + 0x110]
mov edx, dword [eax + 0x74]
test edx, edx
je 0x532366
mov ecx, dword [ebp + 0x54]
test ecx, ecx
jle 0x532366
mov ecx, dword [ebp + 0x58]
mov ecx, dword [ecx + 0x78]
mov esi, dword [0x87b7b4]
and ecx, 0xffff
shl ecx, 5
mov ecx, dword [ecx + esi + 0x14]
mov di, word [ecx + 0x60]
test byte [ebp + 0x60], 2
je 0x532267
movsx eax, word [eax + 0x10]
call fcn.00540210
mov dword [esp + 0x1c], eax
jmp 0x532366
movzx cx, byte [ebp + 0x28]
mov edx, dword [edx + 4]
xor eax, eax
cmp di, 8
setne al
movsx ebx, cx
mov dword [esp + 0x18], ebx
sub esp, 8
fild dword [esp + 0x20]
dec eax
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
and eax, 3
movsx esi, ax
shl esi, 2
fmul dword [edx + esi]
fadd dword [0x672af4]
fstp qword [esp]
call fcn.00624090
fstp dword [esp + 0x20]
add esp, 8
fld dword [esp + 0x18]
fistp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
test eax, eax
jge 0x5322c4
xor eax, eax
jmp 0x53233a
mov eax, dword [esp + 0x110]
fld dword [esp + 0x20]
mov ecx, dword [eax + 0x74]
mov edx, dword [ecx + 4]
fmul dword [edx + esi]
sub esp, 8
fadd dword [0x672af4]
fstp qword [esp]
call fcn.00624090
fstp dword [esp + 0x20]
add esp, 8
fld dword [esp + 0x18]
fistp dword [esp + 0x1c]
cmp dword [esp + 0x1c], ebx
jle 0x532302
mov eax, ebx
jmp 0x53233a
mov eax, dword [esp + 0x110]
fld dword [esp + 0x20]
mov ecx, dword [eax + 0x74]
mov edx, dword [ecx + 4]
fmul dword [edx + esi]
sub esp, 8
fadd dword [0x672af4]
fstp qword [esp]
call fcn.00624090
fstp dword [esp + 0x20]
add esp, 8
fld dword [esp + 0x18]
fistp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x110]
mov cx, word [ecx + 0x10]
test cx, cx
jle 0x532359
movsx esi, di
movzx ecx, cx
movsx eax, ax
cdq
idiv esi
dec ecx
jne 0x532350
movsx eax, ax
movsx ecx, di
cdq
idiv ecx
mov dword [esp + 0x1c], edx
xor ebx, ebx
mov dword [esp + 0x20], ebx
xor edi, edi
mov edi, edi
mov eax, dword [ebp + 0x54]
movsx esi, bx
cmp esi, eax
jge 0x5324ca
mov edx, dword [ebp + 0x58]
mov edi, esi
imul edi, edi, 0xdc
xor eax, eax
mov ax, word [ebp + 0x2a]
add edi, edx
test bx, bx
mov dword [esp + 0x18], eax
je 0x5323a4
mov dword [esp + 0x2c], 0
jmp 0x5323b4
movsx edx, ax
mov ax, word [edx*2 + 0x65e418]
mov word [esp + 0x2c], ax
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
mov eax, dword [edi + 0x78]
push ecx
push 0
push edx
push ebx
call fcn.00518b10
add esp, 0x10
cmp word [esp + 0x2c], 0
jne 0x5323e0
test byte [edi], 4
je 0x5323e0
mov ecx, 3
jmp 0x532400
test bx, bx
je 0x5323ec
mov ecx, 1
jmp 0x5323f8
movsx eax, word [esp + 0x18]
mov ecx, dword [eax*4 + 0x65e420]
cmp word [esp + 0x2c], 0
jne 0x53240c
test byte [edi], 8
je 0x53240c
mov ebx, 3
jmp 0x532424
test bx, bx
je 0x532418
mov ebx, 1
jmp 0x532424
movsx edx, word [esp + 0x18]
mov ebx, dword [edx*4 + 0x65e420]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push ecx
push 1
push esi
push eax
call dword [edx + 0x114]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push ebx
push 2
push esi
push eax
call dword [ecx + 0x114]
cmp word [esp + 0x20], 0
je 0x532457
mov ecx, 1
jmp 0x532463
movsx edx, word [esp + 0x18]
mov ecx, dword [edx*4 + 0x65e420]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push ecx
push 3
push esi
push eax
call dword [edx + 0x114]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 2
push 5
push esi
push eax
call dword [ecx + 0x114]
mov cl, byte [edi]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
and cl, 1
neg cl
sbb ecx, ecx
add ecx, 2
push ecx
push 6
push esi
push eax
call dword [edx + 0x114]
mov cl, byte [edi]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
and cl, 1
neg cl
sbb ecx, ecx
add ecx, 2
push ecx
push 7
push esi
push eax
call dword [edx + 0x114]
mov ebx, dword [esp + 0x20]
xor edi, edi
mov eax, dword [ebp + 0x54]
cmp esi, eax
jge 0x5325f5
cmp bx, di
jg 0x5324e4
cmp word [ebp + 0x2a], di
jne 0x5325aa
mov edx, dword [ebp + 0x58]
mov eax, esi
imul eax, eax, 0xdc
mov ecx, dword [eax + edx + 0x58]
add eax, edx
cmp bx, di
mov edx, dword [eax + 0x54]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ecx
jne 0x53252e
test byte [ebp + 0x29], 0x40
je 0x532530
fld dword [esp + 0x24]
mov ecx, dword [esp + 0x110]
fmul dword [ecx + 0x78]
fchs
fstp dword [esp + 0x24]
fld dword [esp + 0x28]
fmul dword [ecx + 0x78]
fchs
fstp dword [esp + 0x28]
jmp 0x532537
jg 0x53253f
mov ecx, dword [esp + 0x110]
test byte [ebp + 0x29], 8
jne 0x53255c
jmp 0x532546
mov ecx, dword [esp + 0x110]
fld dword [esp + 0x24]
fmul dword [ecx + 0x3c]
fstp dword [esp + 0x24]
fld dword [esp + 0x28]
fmul dword [ecx + 0x40]
fstp dword [esp + 0x28]
mov edx, dword [eax + 0x64]
fld qword [0x7c0da0]
push ecx
mov ecx, dword [eax + 0x60]
fstp dword [esp]
push edx
mov edx, dword [eax + 0x5c]
push ecx
mov ecx, dword [esp + 0x34]
shl esi, 5
push edx
mov edx, dword [esp + 0x34]
lea edi, [esp + esi + 0x80]
lea ebx, [esp + esi + 0x70]
push ecx
lea esi, [eax + 0xa4]
mov eax, dword [esp + 0x124]
mov ecx, dword [eax + 0x74]
push edx
call fcn.0053ffa0
mov ebx, dword [esp + 0x38]
add esp, 0x18
xor edi, edi
jmp 0x53261d
cmp esi, eax
jge 0x5325f5
test byte [ebp + 0x29], 8
je 0x5325f5
fld dword [0x7c0e64]
shl esi, 5
fstp dword [esp + esi + 0x60]
fld dword [0x7c0e68]
fstp dword [esp + esi + 0x64]
fld dword [0x7c0e6c]
fstp dword [esp + esi + 0x68]
fld dword [0x7c0e70]
fstp dword [esp + esi + 0x70]
fld dword [0x7c0e74]
fstp dword [esp + esi + 0x74]
fld dword [0x7c0e78]
fstp dword [esp + esi + 0x78]
jmp 0x532615
shl esi, 5
mov eax, 0x3f800000
mov dword [esp + esi + 0x60], eax
mov dword [esp + esi + 0x64], edi
mov dword [esp + esi + 0x68], edi
mov dword [esp + esi + 0x70], edi
mov dword [esp + esi + 0x74], eax
mov dword [esp + esi + 0x78], edi
mov dword [esp + esi + 0x6c], edi
mov dword [esp + esi + 0x7c], edi
inc ebx
cmp bx, 4
mov dword [esp + 0x20], ebx
jl 0x532370
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 8
lea edx, [esp + 0x64]
push edx
push 0xd
push eax
call dword [ecx + 0x178]
test eax, eax
jl 0x532660
mov al, byte [esp + 0x17]
test al, al
je 0x532660
mov eax, dword [esp + 0x110]
mov ebx, dword [eax + 0xc]
call fcn.00537d20
xor edi, edi
mov ecx, dword [esp + 0x110]
test byte [ecx], 0x10
mov si, word [ebp + 0x54]
je 0x53267a
cmp word [ebp + 0x2c], di
je case.default.0x5327b6
cmp word [ecx + 0x14], 1
mov dx, word [ebp + 0x30]
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0x3f800000
mov dword [esp + 0x5c], 0
jne 0x532724
test byte [ebp + 0x60], 1
jne 0x532724
fld dword [0x672afc]
fsub dword [ecx + 0x18]
fcom dword [0x672af8]
fnstsw ax
test ah, 5
jp 0x53270b
fstp st(0)
fld dword [0x672af8]
jmp 0x532720
fcom dword [0x672afc]
fnstsw ax
test ah, 0x41
jne 0x532720
fstp st(0)
fld dword [0x672afc]
fstp dword [esp + 0x58]
cmp dx, di
jle 0x53276b
mov ecx, dword [ecx + 0x74]
cmp ecx, edi
je 0x53276b
mov eax, dword [ecx + 4]
cmp eax, edi
je 0x53276b
movsx ecx, dx
fld dword [eax + ecx*4 - 4]
lea ecx, [eax + ecx*4 - 4]
fld dword [0x672af8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x532761
cmp dword [0x7c0d2c], 0xffff0101
jb 0x532b7a
fld dword [esp + 0x58]
fmul dword [ecx]
fstp dword [esp + 0x58]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 3
lea ecx, [esp + 0x34]
push ecx
push 0xa
push eax
call dword [edx + 0x178]
movsx eax, word [ebp + 0x2e]
sub eax, edi
je 0x53279e
dec eax
je 0x532797
dec eax
jne 0x5327a5
mov edi, 4
jmp 0x5327a9
mov edi, 0x24
jmp 0x5327a9
mov edi, 0x20
jmp 0x5327a9
mov edi, dword [esp + 0x18]
movsx eax, word [ebp + 0x2c]
cmp eax, 7
ja case.default.0x5327b6
jmp dword [eax*4 + 0x532b88]
cmp dword [0x7c0cf8], 2
jne 0x5327f9
mov eax, dword [ebp + 0x54]
cmp eax, 2
jl 0x5327f9
lea esi, [eax - 1]
cmp esi, 1
jg 0x5327db
mov esi, 1
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 4
push 4
push 0
push eax
call dword [edx + 0x10c]
push edi
push 6
push 0
jmp 0x532b0b
mov si, word [ebp + 0x54]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 2
movsx ebp, si
push 1
push ebp
push eax
call dword [edx + 0x10c]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 1
push 2
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 4
push 4
push ebp
push eax
call dword [edx + 0x10c]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 1
push 5
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push edi
push 6
push ebp
push eax
call dword [edx + 0x10c]
jmp 0x532b19
cmp dword [0x7c0cf8], 2
jbe 0x532872
mov si, word [ebp + 0x54]
jmp 0x532882
mov ebp, dword [ebp + 0x54]
lea esi, [ebp - 1]
cmp esi, 1
jg 0x532882
mov esi, 1
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 0x19
movsx ebp, si
push 1
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
mov ecx, edi
or ecx, 0x10
push ecx
push 2
push ebp
push eax
call dword [edx + 0x10c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 1
push 3
push ebp
push eax
call dword [edx + 0x10c]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push edi
push 0x1a
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 2
push 4
push ebp
push eax
call dword [edx + 0x10c]
push 1
push 5
jmp 0x532b0a
cmp dword [0x7c0cf8], 2
jbe 0x5328ff
mov si, word [ebp + 0x54]
jmp 0x53290f
mov ebp, dword [ebp + 0x54]
lea esi, [ebp - 1]
cmp esi, 1
jg 0x53290f
mov esi, 1
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 0x7f7f7f7f
push 0x3c
push eax
call dword [edx + 0xe4]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 0x1a
movsx ebp, si
push 1
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push edi
push 2
push ebp
push eax
call dword [edx + 0x10c]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 1
push 3
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 3
push 0x1a
push ebp
push eax
call dword [edx + 0x10c]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 2
push 4
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 1
push 5
push ebp
push eax
call dword [edx + 0x10c]
jmp 0x532b19
cmp dword [0x7c0cf8], 2
jne 0x5329e7
mov eax, dword [ebp + 0x54]
cmp eax, 2
jl 0x5329e7
lea esi, [eax - 1]
cmp esi, 1
jg 0x5329bb
mov esi, 1
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 4
push 1
push 0
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push edi
push 3
push 0
push eax
call dword [edx + 0x10c]
jmp 0x532b19
mov si, word [ebp + 0x54]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 4
movsx ebp, si
push 1
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 1
push 2
push ebp
push eax
call dword [edx + 0x10c]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push edi
push 3
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 2
push 4
push ebp
push eax
call dword [edx + 0x10c]
push 1
push 5
jmp 0x532b0a
cmp dword [0x7c0cf8], 2
jne 0x532aa2
mov eax, dword [ebp + 0x54]
cmp eax, 2
jl 0x532aa2
lea esi, [eax - 1]
cmp esi, 1
jg 0x532a60
mov esi, 1
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 4
push 1
push 0
push eax
call dword [edx + 0x10c]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push edi
push 3
push 0
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 4
push 4
push 0
push eax
call dword [edx + 0x10c]
push edi
push 6
push 0
jmp 0x532b0b
mov si, word [ebp + 0x54]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 4
movsx ebp, si
push 1
push ebp
push eax
call dword [edx + 0x10c]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 1
push 2
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push edi
push 3
push ebp
push eax
call dword [edx + 0x10c]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 4
push 4
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 1
push 5
push ebp
push eax
call dword [edx + 0x10c]
push edi
push 6
push ebp
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10c]
inc esi
mov eax, dword [0x71d09c]
mov edx, dword [eax]
movsx esi, si
push 0
push esi
push eax
call dword [edx + 0x104]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 1
push 1
push esi
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 1
push 4
push esi
push eax
call dword [edx + 0x10c]
mov ecx, dword [esp + 0x110]
push 0
call fcn.005337d0
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
add esp, 4
push 1
push 0xab
push eax
call dword [ecx + 0xe4]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfc
ret