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

Disassembly:
mov edx, dword [esp + 4]
sub esp, 0xf4
push ebx
push ebp
mov ebp, dword [edx + 0xc]
push esi
push edi
mov ecx, ebp
call fcn.00543310
mov ecx, dword [edx + 0x58]
or esi, 0xffffffff
test ecx, ecx
je 0x534fc7
mov si, word [ecx]
jmp 0x534fd9
mov ecx, dword [edx + 0x54]
cmp ecx, 0xffffffff
je 0x534fd9
shl ecx, 4
mov si, word [ecx + 0x674840]
mov cx, word [edx + 0x10]
mov word [esp + 0x14], cx
mov ecx, dword [ebp + 0x58]
test ecx, ecx
je 0x535aaf
mov edx, dword [ecx + 0x70]
test edx, edx
je 0x535aaf
mov ecx, dword [0x6b8344]
mov edx, dword [ecx]
movsx eax, ax
movsx esi, si
lea edi, [esi + esi*2]
lea eax, [eax + edi*2]
movsx eax, word [eax*2 + 0x639460]
mov eax, dword [eax*8 + 0x639258]
push eax
push ecx
call dword [edx + 0x170]
mov eax, dword [0x6b8344]
mov ecx, dword [eax]
lea edx, [esi + esi*2]
mov edx, dword [edx*4 + 0x67c988]
push edx
push eax
call dword [ecx + 0x15c]
mov eax, dword [0x6b8344]
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x1ac]
mov eax, dword [ebp + 0x48]
xor ebx, ebx
test eax, eax
jle 0x5350bd
xor eax, eax
jmp 0x535060
mov esi, dword [esp + 0x108]
mov edx, dword [ebp + 0x4c]
shl eax, 4
mov ecx, 0x2a
lea edi, [esp + 0x58]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x816d04]
mov dword [esp + 0xf0], 0xffffffff
mov eax, dword [eax + edx + 0xc]
and eax, 0xffff
shl eax, 5
mov edx, dword [eax + ecx + 0x14]
mov eax, dword [esp + 0x10c]
push eax
lea ecx, [esp + 0x5c]
push ecx
mov dword [esp + 0x6c], edx
call fcn.005368b0
mov ecx, dword [ebp + 0x48]
add esp, 8
inc ebx
movsx eax, bx
cmp eax, ecx
jl 0x535060
mov eax, dword [0x6b8344]
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 [0x6b8344]
mov edx, dword [eax]
push 7
push 0xa8
push eax
call dword [edx + 0xe4]
mov eax, dword [0x6b8344]
mov ecx, dword [eax]
push 1
push 0x1b
push eax
call dword [ecx + 0xe4]
mov eax, dword [0x6b8344]
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 [0x6b8344]
mov edx, dword [eax]
push 0x7f
push 0x18
push eax
call dword [edx + 0xe4]
mov eax, dword [0x6b8344]
mov ecx, dword [eax]
push 0
push 0x1c
push eax
call dword [ecx + 0xe4]
mov cx, word [ebp + 0x2c]
call fcn.0051c030
mov al, byte [ebp + 0x29]
test al, al
jns 0x5352a6
mov eax, dword [esp + 0x108]
mov edx, dword [eax + 0x74]
test edx, edx
je 0x5352a6
mov ecx, dword [ebp + 0x54]
test ecx, ecx
jle 0x5352a6
mov ecx, dword [ebp + 0x58]
mov ecx, dword [ecx + 0x78]
mov esi, dword [0x816d04]
and ecx, 0xffff
shl ecx, 5
mov ecx, dword [ecx + esi + 0x14]
mov di, word [ecx + 0x60]
test byte [ebp + 0x60], 2
je 0x5351a7
movsx eax, word [eax + 0x10]
call fcn.00543670
mov dword [esp + 0x14], eax
jmp 0x5352a6
movzx cx, byte [ebp + 0x28]
mov edx, dword [edx + 4]
xor eax, eax
cmp di, 8
setne al
movsx ebx, cx
mov dword [esp + 0x10], ebx
sub esp, 8
fild dword [esp + 0x18]
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 [0x61221c]
fstp qword [esp]
call fcn.005c8f50
fstp dword [esp + 0x18]
add esp, 8
fld dword [esp + 0x10]
fistp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
test eax, eax
jge 0x535204
xor eax, eax
jmp 0x53527a
mov eax, dword [esp + 0x108]
fld dword [esp + 0x18]
mov ecx, dword [eax + 0x74]
mov edx, dword [ecx + 4]
fmul dword [edx + esi]
sub esp, 8
fadd dword [0x61221c]
fstp qword [esp]
call fcn.005c8f50
fstp dword [esp + 0x18]
add esp, 8
fld dword [esp + 0x10]
fistp dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
jle 0x535242
mov eax, ebx
jmp 0x53527a
mov eax, dword [esp + 0x108]
fld dword [esp + 0x18]
mov ecx, dword [eax + 0x74]
mov edx, dword [ecx + 4]
fmul dword [edx + esi]
sub esp, 8
fadd dword [0x61221c]
fstp qword [esp]
call fcn.005c8f50
fstp dword [esp + 0x18]
add esp, 8
fld dword [esp + 0x10]
fistp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x108]
mov cx, word [ecx + 0x10]
test cx, cx
jle 0x535299
movsx esi, di
movzx ecx, cx
movsx eax, ax
cdq
idiv esi
dec ecx
jne 0x535290
movsx eax, ax
movsx ecx, di
cdq
idiv ecx
mov dword [esp + 0x14], edx
xor ebx, ebx
mov dword [esp + 0x18], ebx
xor edi, edi
mov edi, edi
mov eax, dword [ebp + 0x54]
movsx esi, bx
cmp esi, eax
jge 0x53540a
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 + 0x10], eax
je 0x5352e4
mov dword [esp + 0x24], 0
jmp 0x5352f4
movsx edx, ax
mov ax, word [edx*2 + 0x5fc9f0]
mov word [esp + 0x24], ax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov eax, dword [edi + 0x78]
push ecx
push 0
push edx
push ebx
call fcn.0051c210
add esp, 0x10
cmp word [esp + 0x24], 0
jne 0x535320
test byte [edi], 4
je 0x535320
mov ecx, 3
jmp 0x535340
test bx, bx
je 0x53532c
mov ecx, 1
jmp 0x535338
movsx eax, word [esp + 0x10]
mov ecx, dword [eax*4 + 0x5fc9f8]
cmp word [esp + 0x24], 0
jne 0x53534c
test byte [edi], 8
je 0x53534c
mov ebx, 3
jmp 0x535364
test bx, bx
je 0x535358
mov ebx, 1
jmp 0x535364
movsx edx, word [esp + 0x10]
mov ebx, dword [edx*4 + 0x5fc9f8]
mov eax, dword [0x6b8344]
mov edx, dword [eax]
push ecx
push 1
push esi
push eax
call dword [edx + 0x114]
mov eax, dword [0x6b8344]
mov ecx, dword [eax]
push ebx
push 2
push esi
push eax
call dword [ecx + 0x114]
cmp word [esp + 0x18], 0
je 0x535397
mov ecx, 1
jmp 0x5353a3
movsx edx, word [esp + 0x10]
mov ecx, dword [edx*4 + 0x5fc9f8]
mov eax, dword [0x6b8344]
mov edx, dword [eax]
push ecx
push 3
push esi
push eax
call dword [edx + 0x114]
mov eax, dword [0x6b8344]
mov ecx, dword [eax]
push 2
push 5
push esi
push eax
call dword [ecx + 0x114]
mov cl, byte [edi]
mov eax, dword [0x6b8344]
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 [0x6b8344]
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 + 0x18]
xor edi, edi
mov eax, dword [ebp + 0x54]
cmp esi, eax
jge 0x535532
cmp bx, di
jg 0x535424
cmp word [ebp + 0x2a], di
jne 0x5354e7
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 + 0x1c], edx
mov dword [esp + 0x20], ecx
jne 0x53546e
test byte [ebp + 0x29], 0x40
je 0x535470
fld dword [esp + 0x1c]
mov ecx, dword [esp + 0x108]
fmul dword [ecx + 0x78]
fchs
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fmul dword [ecx + 0x78]
fchs
fstp dword [esp + 0x20]
jmp 0x535477
jg 0x53547f
mov ecx, dword [esp + 0x108]
test byte [ebp + 0x29], 8
jne 0x53549c
jmp 0x535486
mov ecx, dword [esp + 0x108]
fld dword [esp + 0x1c]
fmul dword [ecx + 0x3c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fmul dword [ecx + 0x40]
fstp dword [esp + 0x20]
mov edx, dword [eax + 0x64]
fld qword [0x75c130]
push ecx
mov ecx, dword [eax + 0x60]
fstp dword [esp]
push edx
mov edx, dword [eax + 0x5c]
push ecx
mov ecx, dword [esp + 0x2c]
shl esi, 5
push edx
mov edx, dword [esp + 0x2c]
lea edi, [esp + esi + 0x78]
lea ebx, [esp + esi + 0x68]
push ecx
lea esi, [eax + 0xa4]
mov eax, dword [esp + 0x11c]
mov ecx, dword [eax + 0x74]
push edx
call fcn.00543400
mov ebx, dword [esp + 0x30]
add esp, 0x18
xor edi, edi
jmp 0x53555a
cmp esi, eax
jge 0x535532
test byte [ebp + 0x29], 8
je 0x535532
fld dword [0x75c1e4]
shl esi, 5
fstp dword [esp + esi + 0x58]
fld dword [0x75c1e8]
fstp dword [esp + esi + 0x5c]
fld dword [0x75c1ec]
fstp dword [esp + esi + 0x60]
fld dword [0x75c1f0]
fstp dword [esp + esi + 0x68]
fld dword [0x75c1f4]
fstp dword [esp + esi + 0x6c]
fld dword [0x75c1f8]
fstp dword [esp + esi + 0x70]
jmp 0x535552
shl esi, 5
mov eax, 0x3f800000
mov dword [esp + esi + 0x58], eax
mov dword [esp + esi + 0x5c], edi
mov dword [esp + esi + 0x60], edi
mov dword [esp + esi + 0x68], edi
mov dword [esp + esi + 0x6c], eax
mov dword [esp + esi + 0x70], edi
mov dword [esp + esi + 0x64], edi
mov dword [esp + esi + 0x74], edi
inc ebx
cmp bx, 4
mov dword [esp + 0x18], ebx
jl 0x5352b0
mov eax, dword [0x6b8344]
mov ecx, dword [eax]
push 8
lea edx, [esp + 0x5c]
push edx
push 0xd
push eax
call dword [ecx + 0x178]
test eax, eax
jl 0x535595
mov eax, dword [esp + 0x108]
mov ebx, dword [eax + 0xc]
call fcn.0053b000
xor edi, edi
mov ecx, dword [esp + 0x108]
test byte [ecx], 0x10
mov si, word [ebp + 0x54]
je 0x5355af
cmp word [ebp + 0x2c], di
je case.default.0x5356eb
cmp word [ecx + 0x14], 1
mov dx, word [ebp + 0x30]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
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], 0x3f800000
mov dword [esp + 0x54], 0
jne 0x535659
test byte [ebp + 0x60], 1
jne 0x535659
fld dword [0x612224]
fsub dword [ecx + 0x18]
fcom dword [0x612220]
fnstsw ax
test ah, 5
jp 0x535640
fstp st(0)
fld dword [0x612220]
jmp 0x535655
fcom dword [0x612224]
fnstsw ax
test ah, 0x41
jne 0x535655
fstp st(0)
fld dword [0x612224]
fstp dword [esp + 0x50]
cmp dx, di
jle 0x5356a0
mov ecx, dword [ecx + 0x74]
cmp ecx, edi
je 0x5356a0
mov eax, dword [ecx + 4]
cmp eax, edi
je 0x5356a0
movsx ecx, dx
fld dword [eax + ecx*4 - 4]
lea ecx, [eax + ecx*4 - 4]
fld dword [0x612220]
fucompp
fnstsw ax
test ah, 0x44
jp 0x535696
cmp dword [0x75c0ac], 0xffff0101
jb 0x535aaf
fld dword [esp + 0x50]
fmul dword [ecx]
fstp dword [esp + 0x50]
mov eax, dword [0x6b8344]
mov edx, dword [eax]
push 3
lea ecx, [esp + 0x2c]
push ecx
push 0xa
push eax
call dword [edx + 0x178]
movsx eax, word [ebp + 0x2e]
sub eax, edi
je 0x5356d3
dec eax
je 0x5356cc
dec eax
jne 0x5356da
mov edi, 4
jmp 0x5356de
mov edi, 0x24
jmp 0x5356de
mov edi, 0x20
jmp 0x5356de
mov edi, dword [esp + 0x10]
movsx eax, word [ebp + 0x2c]
cmp eax, 7
ja case.default.0x5356eb
jmp dword [eax*4 + 0x535abc]
cmp dword [0x75c078], 2
jne 0x53572e
mov eax, dword [ebp + 0x54]
cmp eax, 2
jl 0x53572e
lea esi, [eax - 1]
cmp esi, 1
jg 0x535710
mov esi, 1
mov eax, dword [0x6b8344]
mov edx, dword [eax]
push 4
push 4
push 0
push eax
call dword [edx + 0x10c]
push edi
push 6
push 0
jmp 0x535a40
mov si, word [ebp + 0x54]
mov eax, dword [0x6b8344]
mov edx, dword [eax]
push 2
movsx ebp, si
push 1
push ebp
push eax
call dword [edx + 0x10c]
mov eax, dword [0x6b8344]
mov ecx, dword [eax]
push 1
push 2
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x6b8344]
mov edx, dword [eax]
push 4
push 4
push ebp
push eax
call dword [edx + 0x10c]
mov eax, dword [0x6b8344]
mov ecx, dword [eax]
push 1
push 5
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x6b8344]
mov edx, dword [eax]
push edi
push 6
push ebp
push eax
call dword [edx + 0x10c]
jmp 0x535a4e
cmp dword [0x75c078], 2
jbe 0x5357a7
mov si, word [ebp + 0x54]
jmp 0x5357b7
mov ebp, dword [ebp + 0x54]
lea esi, [ebp - 1]
cmp esi, 1
jg 0x5357b7
mov esi, 1
mov eax, dword [0x6b8344]
mov ecx, dword [eax]
push 0x19
movsx ebp, si
push 1
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x6b8344]
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 [0x6b8344]
mov edx, dword [eax]
push 1
push 3
push ebp
push eax
call dword [edx + 0x10c]
mov eax, dword [0x6b8344]
mov ecx, dword [eax]
push edi
push 0x1a
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x6b8344]
mov edx, dword [eax]
push 2
push 4
push ebp
push eax
call dword [edx + 0x10c]
push 1
push 5
jmp 0x535a3f
cmp dword [0x75c078], 2
jbe 0x535834
mov si, word [ebp + 0x54]
jmp 0x535844
mov ebp, dword [ebp + 0x54]
lea esi, [ebp - 1]
cmp esi, 1
jg 0x535844
mov esi, 1
mov eax, dword [0x6b8344]
mov edx, dword [eax]
push 0x7f7f7f7f
push 0x3c
push eax
call dword [edx + 0xe4]
mov eax, dword [0x6b8344]
mov ecx, dword [eax]
push 0x1a
movsx ebp, si
push 1
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x6b8344]
mov edx, dword [eax]
push edi
push 2
push ebp
push eax
call dword [edx + 0x10c]
mov eax, dword [0x6b8344]
mov ecx, dword [eax]
push 1
push 3
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x6b8344]
mov edx, dword [eax]
push 3
push 0x1a
push ebp
push eax
call dword [edx + 0x10c]
mov eax, dword [0x6b8344]
mov ecx, dword [eax]
push 2
push 4
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x6b8344]
mov edx, dword [eax]
push 1
push 5
push ebp
push eax
call dword [edx + 0x10c]
jmp 0x535a4e
cmp dword [0x75c078], 2
jne 0x53591c
mov eax, dword [ebp + 0x54]
cmp eax, 2
jl 0x53591c
lea esi, [eax - 1]
cmp esi, 1
jg 0x5358f0
mov esi, 1
mov eax, dword [0x6b8344]
mov ecx, dword [eax]
push 4
push 1
push 0
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x6b8344]
mov edx, dword [eax]
push edi
push 3
push 0
push eax
call dword [edx + 0x10c]
jmp 0x535a4e
mov si, word [ebp + 0x54]
mov eax, dword [0x6b8344]
mov ecx, dword [eax]
push 4
movsx ebp, si
push 1
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x6b8344]
mov edx, dword [eax]
push 1
push 2
push ebp
push eax
call dword [edx + 0x10c]
mov eax, dword [0x6b8344]
mov ecx, dword [eax]
push edi
push 3
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x6b8344]
mov edx, dword [eax]
push 2
push 4
push ebp
push eax
call dword [edx + 0x10c]
push 1
push 5
jmp 0x535a3f
cmp dword [0x75c078], 2
jne 0x5359d7
mov eax, dword [ebp + 0x54]
cmp eax, 2
jl 0x5359d7
lea esi, [eax - 1]
cmp esi, 1
jg 0x535995
mov esi, 1
mov eax, dword [0x6b8344]
mov edx, dword [eax]
push 4
push 1
push 0
push eax
call dword [edx + 0x10c]
mov eax, dword [0x6b8344]
mov ecx, dword [eax]
push edi
push 3
push 0
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x6b8344]
mov edx, dword [eax]
push 4
push 4
push 0
push eax
call dword [edx + 0x10c]
push edi
push 6
push 0
jmp 0x535a40
mov si, word [ebp + 0x54]
mov eax, dword [0x6b8344]
mov edx, dword [eax]
push 4
movsx ebp, si
push 1
push ebp
push eax
call dword [edx + 0x10c]
mov eax, dword [0x6b8344]
mov ecx, dword [eax]
push 1
push 2
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x6b8344]
mov edx, dword [eax]
push edi
push 3
push ebp
push eax
call dword [edx + 0x10c]
mov eax, dword [0x6b8344]
mov ecx, dword [eax]
push 4
push 4
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x6b8344]
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 [0x6b8344]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10c]
inc esi
mov eax, dword [0x6b8344]
mov edx, dword [eax]
movsx esi, si
push 0
push esi
push eax
call dword [edx + 0x104]
mov eax, dword [0x6b8344]
mov ecx, dword [eax]
push 1
push 1
push esi
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x6b8344]
mov edx, dword [eax]
push 1
push 4
push esi
push eax
call dword [edx + 0x10c]
mov ecx, dword [esp + 0x108]
push 0
call fcn.005366c0
mov eax, dword [0x6b8344]
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, 0xf4
ret