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

Disassembly:
sub esp, 0x114
mov edx, dword [esp + 0x118]
push ebx
mov ebx, dword [edx + 0xc]
push ebp
push esi
push edi
mov ecx, ebx
mov byte [esp + 0x17], 1
mov dword [esp + 0x34], ebx
call fcn.0053feb0
mov ecx, dword [edx + 0x58]
or esi, 0xffffffff
test ecx, ecx
je 0x532be3
mov si, word [ecx]
jmp 0x532bf5
mov ecx, dword [edx + 0x54]
cmp ecx, 0xffffffff
je 0x532bf5
shl ecx, 4
mov si, word [ecx + 0x6d9900]
mov cx, word [edx + 0x10]
mov word [esp + 0x30], cx
cmp dword [0x7c0d2c], 0xffff0101
jae 0x532c27
mov ecx, dword [ebx + 0x64]
test ecx, ecx
je 0x533796
mov edx, dword [ecx + 0x70]
test edx, edx
jne 0x532c3d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov ecx, dword [ebx + 0x58]
test ecx, ecx
je 0x533796
mov edx, dword [ecx + 0x70]
test edx, edx
je 0x533796
movsx esi, si
movsx eax, ax
lea edx, [esi + esi*2]
lea ecx, [eax + edx*2]
movsx edx, word [ecx*2 + 0x69e640]
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 0x532c71
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 0x532c94
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 0x532cad
mov byte [esp + 0x17], 0
mov eax, dword [ebx + 0x48]
xor ebp, ebp
test eax, eax
jle 0x532d20
xor eax, eax
jmp 0x532cc0
mov esi, dword [esp + 0x128]
mov edx, dword [ebx + 0x4c]
shl eax, 4
mov ecx, 0x2a
lea edi, [esp + 0x78]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x87b7b4]
mov dword [esp + 0x110], 0xffffffff
mov eax, dword [eax + edx + 0xc]
and eax, 0xffff
shl eax, 5
mov edx, dword [eax + ecx + 0x14]
mov eax, dword [esp + 0x12c]
push eax
lea ecx, [esp + 0x7c]
push ecx
mov dword [esp + 0x8c], edx
call fcn.005339c0
mov ecx, dword [ebx + 0x48]
add esp, 8
inc ebp
movsx eax, bp
cmp eax, ecx
jl 0x532cc0
mov eax, dword [0x71d09c]
mov edx, dword [eax]
xor ecx, ecx
mov cl, byte [ebx + 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 [ebx + 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 [ebx + 0x2c]
call fcn.00518780
mov al, byte [ebx + 0x29]
test al, al
jns 0x532f09
mov eax, dword [esp + 0x128]
mov edx, dword [eax + 0x74]
test edx, edx
je 0x532f09
mov ecx, dword [ebx + 0x54]
test ecx, ecx
jle 0x532f09
mov ecx, dword [ebx + 0x58]
mov ecx, dword [ecx + 0x78]
mov esi, dword [0x87b7b4]
and ecx, 0xffff
shl ecx, 5
mov ecx, dword [ecx + esi + 0x14]
mov bp, word [ecx + 0x60]
test byte [ebx + 0x6c], 2
je 0x532e0a
movsx eax, word [eax + 0x10]
call fcn.00540210
mov dword [esp + 0x30], eax
jmp 0x532f09
movzx cx, byte [ebx + 0x28]
mov edx, dword [edx + 4]
xor eax, eax
cmp bp, 8
setne al
movsx edi, cx
mov dword [esp + 0x1c], edi
sub esp, 8
fild dword [esp + 0x24]
dec eax
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
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 + 0x24]
add esp, 8
fld dword [esp + 0x1c]
fistp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
test eax, eax
jge 0x532e67
xor eax, eax
jmp 0x532edd
mov eax, dword [esp + 0x128]
fld dword [esp + 0x18]
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 + 0x24]
add esp, 8
fld dword [esp + 0x1c]
fistp dword [esp + 0x20]
cmp dword [esp + 0x20], edi
jle 0x532ea5
mov eax, edi
jmp 0x532edd
mov eax, dword [esp + 0x128]
fld dword [esp + 0x18]
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 + 0x24]
add esp, 8
fld dword [esp + 0x1c]
fistp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x128]
mov cx, word [ecx + 0x10]
test cx, cx
jle 0x532efc
movsx esi, bp
movzx ecx, cx
movsx eax, ax
cdq
idiv esi
dec ecx
jne 0x532ef3
movsx eax, ax
movsx ecx, bp
cdq
idiv ecx
mov dword [esp + 0x30], edx
mov eax, dword [0x7c0d2c]
xor esi, esi
cmp eax, 0xffff0101
jae 0x532f3f
mov si, word [ebx + 0x60]
test si, si
mov dword [esp + 0x24], esi
jle 0x532f63
mov eax, dword [ebx + 0x64]
lea ecx, [esp + 0x68]
movzx edx, si
mov edi, edi
mov dword [ecx], eax
add eax, 0xdc
add ecx, 4
dec edx
jne 0x532f30
jmp 0x532f63
mov si, word [ebx + 0x54]
test si, si
mov dword [esp + 0x24], esi
jle 0x532f63
mov eax, dword [ebx + 0x58]
lea ecx, [esp + 0x68]
movzx edx, si
mov dword [ecx], eax
add eax, 0xdc
add ecx, 4
dec edx
jne 0x532f56
xor edi, edi
test si, si
mov dword [esp + 0x1c], edi
jle 0x533251
cmp di, word [esp + 0x24]
jge 0x5331fe
xor eax, eax
test di, di
mov ax, word [ebx + 0x2a]
movsx esi, di
mov ebp, dword [esp + esi*4 + 0x68]
mov dword [esp + 0x20], eax
je 0x532f9d
mov dword [esp + 0x18], 0
jmp 0x532fad
movsx edx, ax
mov ax, word [edx*2 + 0x65e430]
mov word [esp + 0x18], ax
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x18]
mov eax, dword [ebp + 0x78]
push ecx
push 0
push edx
push edi
call fcn.00518b10
add esp, 0x10
cmp word [esp + 0x18], 0
jne 0x532fda
test byte [ebp], 4
je 0x532fda
mov ecx, 3
jmp 0x532ffa
test di, di
je 0x532fe6
mov ecx, 1
jmp 0x532ff2
movsx eax, word [esp + 0x20]
mov ecx, dword [eax*4 + 0x65e438]
cmp word [esp + 0x18], 0
jne 0x53300a
test byte [ebp], 8
je 0x53300a
mov dword [esp + 0x18], 3
jmp 0x533029
test di, di
je 0x533019
mov dword [esp + 0x18], 1
jmp 0x533029
movsx edx, word [esp + 0x20]
mov eax, dword [edx*4 + 0x65e438]
mov dword [esp + 0x18], eax
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push ecx
push 1
push esi
push eax
call dword [edx + 0x114]
mov edx, dword [esp + 0x18]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push edx
push 2
push esi
push eax
call dword [ecx + 0x114]
test di, di
je 0x53305d
mov ecx, 1
jmp 0x533069
movsx eax, word [esp + 0x20]
mov ecx, dword [eax*4 + 0x65e438]
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 [ebp]
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 [ebp]
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]
xor ecx, ecx
test di, di
jg 0x5330dd
cmp word [ebx + 0x2a], cx
jne 0x53319d
cmp di, cx
mov edx, dword [ebp + 0x54]
mov eax, dword [ebp + 0x58]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
jne 0x533119
test byte [ebx + 0x29], 0x40
je 0x53311b
fld dword [esp + 0x28]
mov eax, dword [esp + 0x128]
fmul dword [eax + 0x78]
fchs
fstp dword [esp + 0x28]
fld dword [esp + 0x2c]
fmul dword [eax + 0x78]
fchs
fstp dword [esp + 0x2c]
jmp 0x533122
jg 0x53312a
mov eax, dword [esp + 0x128]
test byte [ebx + 0x29], 8
jne 0x533147
jmp 0x533131
mov eax, dword [esp + 0x128]
fld dword [esp + 0x28]
fmul dword [eax + 0x3c]
fstp dword [esp + 0x28]
fld dword [esp + 0x2c]
fmul dword [eax + 0x40]
fstp dword [esp + 0x2c]
fld qword [0x7c0da0]
mov edx, dword [ebp + 0x60]
mov eax, dword [ebp + 0x5c]
push ecx
mov ecx, dword [ebp + 0x64]
fstp dword [esp]
push ecx
mov ecx, dword [esp + 0x34]
push edx
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x138]
shl esi, 5
push ecx
mov ecx, dword [eax + 0x74]
lea edi, [esp + esi + 0x9c]
lea ebx, [esp + esi + 0x8c]
push edx
lea esi, [ebp + 0xa4]
call fcn.0053ffa0
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x4c]
add esp, 0x18
jmp 0x53323d
test byte [ebx + 0x29], 8
je 0x533200
fld dword [0x7c0e64]
shl esi, 5
fstp dword [esp + esi + 0x78]
mov dword [esp + esi + 0x84], ecx
fld dword [0x7c0e68]
mov dword [esp + esi + 0x94], ecx
fstp dword [esp + esi + 0x7c]
fld dword [0x7c0e6c]
fstp dword [esp + esi + 0x80]
fld dword [0x7c0e70]
fstp dword [esp + esi + 0x88]
fld dword [0x7c0e74]
fstp dword [esp + esi + 0x8c]
fld dword [0x7c0e78]
fstp dword [esp + esi + 0x90]
jmp 0x53323d
xor ecx, ecx
movsx eax, di
shl eax, 5
mov edx, 0x3f800000
mov dword [esp + eax + 0x78], edx
mov dword [esp + eax + 0x7c], ecx
mov dword [esp + eax + 0x80], ecx
mov dword [esp + eax + 0x84], ecx
mov dword [esp + eax + 0x88], ecx
mov dword [esp + eax + 0x8c], edx
mov dword [esp + eax + 0x90], ecx
mov dword [esp + eax + 0x94], ecx
inc edi
cmp di, word [esp + 0x24]
mov dword [esp + 0x1c], edi
jl 0x532f7d
mov esi, dword [esp + 0x24]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 8
lea edx, [esp + 0x7c]
push edx
push 0xd
push eax
call dword [ecx + 0x178]
test eax, eax
jl 0x533285
mov al, byte [esp + 0x17]
test al, al
je 0x533285
mov edi, dword [esp + 0x128]
mov ecx, dword [edi + 0xc]
call fcn.00537ed0
jmp 0x53328c
mov edi, dword [esp + 0x128]
test byte [edi], 0x10
je 0x53329c
cmp word [ebx + 0x2c], 0
je case.default.0x5333d9
cmp word [edi + 0x14], 1
mov cx, word [ebx + 0x30]
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], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0x3f800000
mov dword [esp + 0x64], 0
jne 0x533346
test byte [ebx + 0x6c], 1
jne 0x533346
fld dword [0x672afc]
fsub dword [edi + 0x18]
fcom dword [0x672af8]
fnstsw ax
test ah, 5
jp 0x53332d
fstp st(0)
fld dword [0x672af8]
jmp 0x533342
fcom dword [0x672afc]
fnstsw ax
test ah, 0x41
jne 0x533342
fstp st(0)
fld dword [0x672afc]
fstp dword [esp + 0x60]
test cx, cx
jle 0x53338d
mov eax, dword [edi + 0x74]
test eax, eax
je 0x53338d
mov eax, dword [eax + 4]
test eax, eax
je 0x53338d
movsx ecx, cx
fld dword [eax + ecx*4 - 4]
lea ecx, [eax + ecx*4 - 4]
fld dword [0x672af8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x533383
cmp dword [0x7c0d2c], 0xffff0101
jb 0x533796
fld dword [esp + 0x60]
fmul dword [ecx]
fstp dword [esp + 0x60]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 3
lea ecx, [esp + 0x3c]
push ecx
push 0xa
push eax
call dword [edx + 0x178]
movsx eax, word [ebx + 0x2e]
sub eax, 0
je 0x5333c1
dec eax
je 0x5333ba
dec eax
jne 0x5333c8
mov edi, 4
jmp 0x5333cc
mov edi, 0x24
jmp 0x5333cc
mov edi, 0x20
jmp 0x5333cc
mov edi, dword [esp + 0x34]
movsx eax, word [ebx + 0x2c]
cmp eax, 7
ja case.default.0x5333d9
jmp dword [eax*4 + 0x5337a4]
cmp dword [0x7c0cf8], 2
jne 0x53341d
cmp si, 2
jl 0x53341d
movsx eax, si
lea esi, [eax - 1]
cmp esi, 1
jg 0x5333ff
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 0x533727
mov esi, dword [esp + 0x24]
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 0x533735
cmp dword [0x7c0cf8], 2
ja 0x5334a0
movsx eax, si
lea esi, [eax - 1]
cmp esi, 1
jg 0x5334a0
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
push ebp
jmp 0x533727
cmp dword [0x7c0cf8], 2
ja 0x533528
movsx eax, si
lea esi, [eax - 1]
cmp esi, 1
jg 0x533528
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 ebx, si
push 1
push ebx
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push edi
push 2
push ebx
push eax
call dword [edx + 0x10c]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 1
push 3
push ebx
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 3
push 0x1a
push ebx
push eax
call dword [edx + 0x10c]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 2
push 4
push ebx
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 1
push 5
push ebx
push eax
call dword [edx + 0x10c]
jmp 0x533735
cmp dword [0x7c0cf8], 2
jne 0x533601
cmp si, 2
jl 0x533601
movsx eax, si
lea esi, [eax - 1]
cmp esi, 1
jg 0x5335d5
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 0x533735
mov esi, dword [esp + 0x24]
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
push ebp
jmp 0x533727
cmp dword [0x7c0cf8], 2
jne 0x5336be
cmp si, 2
jl 0x5336be
movsx eax, si
lea esi, [eax - 1]
cmp esi, 1
jg 0x53367c
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 0x533727
mov esi, dword [esp + 0x24]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 4
movsx ebx, si
push 1
push ebx
push eax
call dword [edx + 0x10c]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 1
push 2
push ebx
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push edi
push 3
push ebx
push eax
call dword [edx + 0x10c]
mov eax, dword [0x71d09c]
mov ecx, dword [eax]
push 4
push 4
push ebx
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x71d09c]
mov edx, dword [eax]
push 1
push 5
push ebx
push eax
call dword [edx + 0x10c]
push edi
push 6
push ebx
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 + 0x128]
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, 0x114
ret