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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
sub esp, 0xcc
and esp, 0xfffffff8
xor eax, eax
lea edi, [esp + 0x44]
mov dword [esp + 0x28], 0
mov dword [esp + 0x74], 0
mov dword [esp], 0
mov ecx, 9
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 8], 0
push 1
mov esi, 1
call fcn.00540d00
mov eax, dword [eax + 0x17c]
pop ecx
mov edx, dword [eax]
movzx eax, byte [edx]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x30], 0
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
jmp 0x53d6e0
mov ecx, esi
sub ecx, 1
je 0x53cc70
sub ecx, 1
je 0x53d000
sub ecx, 2
je 0x53d0c0
sub ecx, 4
je 0x53d0d3
sub ecx, 8
je 0x53d150
sub ecx, 0x10
je 0x53d190
sub ecx, 0x20
je 0x53d1f7
sub ecx, 0x40
je 0x53d231
sub ecx, 0x80
je 0x53d280
sub ecx, 0x100
je 0x53d2d0
sub ecx, 0x200
je 0x53d2e3
sub ecx, 0x1c00
je 0x53ce30
sub ecx, 0x2000
je 0x53cd70
sub ecx, 0x4000
je 0x53d350
jmp 0x53d6f4
cmp ebx, 0x100
mov dword [esp + 0x18], ebx
jb 0x53cc80
xor edi, edi
jmp 0x53cc9b
push 1
call fcn.00540d00
mov eax, dword [eax + 0x1bc]
mov edi, dword [eax + 8]
movzx edi, word [edi + ebx*2]
pop ecx
and edi, 0x100
test edi, edi
je 0x53ccb7
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
add dword [esp], 1
mov ebx, eax
jmp 0x53d6f4
cmp dword [esp + 0x18], 0x100
jb 0x53ccc5
mov edx, ebx
jmp 0x53ccda
push 1
call fcn.00540d00
mov edx, dword [eax + 0x1bc]
pop ecx
mov ecx, dword [edx + 0xc]
movzx edx, byte [ecx + ebx]
mov eax, edx
sub eax, 0x2b
je 0x53ccfa
sub eax, 2
je 0x53ccf2
sub eax, 0x1c
je 0x53cd20
sub eax, 5
je 0x53cd40
jmp 0x53cd60
mov dword [esp + 0x7c], 1
add dword [esp + 0x74], 1
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov ebx, eax
mov dword [esp + 8], 1
jmp 0x53d6f4
add dword [esp + 0x74], 1
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov ebx, eax
mov esi, 0x4000
jmp 0x53d6f4
add dword [esp + 0x74], 1
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov ebx, eax
mov esi, 0x2000
jmp 0x53d6f4
mov esi, 2
jmp 0x53d6f4
mov edx, dword [0x593c88]
mov dword [esp + 0xa4], edx
mov edx, dword [0x593c8c]
mov dword [esp + 0xa8], edx
mov dl, byte [0x593c90]
mov edi, 1
mov byte [esp + 0xac], dl
jmp 0x53cdb7
add dword [esp + 0x74], 1
add edi, 1
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov ebx, eax
cmp edi, 8
jge 0x53cde9
cmp ebx, 0x100
jb 0x53cdc8
mov eax, ebx
jmp 0x53cddd
push 1
call fcn.00540d00
pop ecx
mov ecx, dword [eax + 0x1bc]
mov eax, dword [ecx + 0xc]
movzx eax, byte [eax + ebx]
movsx edx, byte [esp + edi + 0xa4]
cmp edx, eax
je 0x53cda0
cmp edi, 3
fldz
je 0x53cdf5
cmp edi, 8
jne 0x53ce24
cmp dword [esp + 0x7c], 0
je 0x53ce06
fld dword [0x59451c]
fchs
jmp 0x53ce0c
fld dword [0x59451c]
mov ebx, dword [esp]
add ebx, edi
add ebx, dword [esp + 8]
mov eax, dword [ebp + 0x14]
mov dword [eax], ebx
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
fstp st(1)
ret
mov esi, 0x1000
fstp st(0)
jmp 0x53d6f4
mov ecx, dword [str.NAN_]
mov dword [esp + 0xc0], ecx
mov cl, byte [0x593c95]
mov byte [esp + 0xc4], cl
xor eax, eax
mov dword [esp + 0x18], 0
lea edi, [esp + 0x84]
mov ecx, 8
mov esi, 1
rep stosd dword es:[edi], eax
jmp 0x53ce87
add dword [esp + 0x74], 1
add esi, 1
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov ebx, eax
cmp esi, 4
jge 0x53ceb9
cmp ebx, 0x100
jb 0x53ce98
mov eax, ebx
jmp 0x53cead
push 1
call fcn.00540d00
mov eax, dword [eax + 0x1bc]
mov edx, dword [eax + 0xc]
pop ecx
movzx eax, byte [edx + ebx]
movsx ecx, byte [esp + esi + 0xc0]
cmp ecx, eax
je 0x53ce70
cmp esi, 3
je 0x53cec7
cmp esi, 4
jne 0x53cff6
cmp esi, 4
jne 0x53cf6c
jmp 0x53cef6
mov eax, dword [esp + 0x18]
mov byte [esp + eax + 0x84], bl
add dword [esp + 0x18], 1
add dword [esp + 0x74], 1
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov ebx, eax
cmp dword [esp + 0x18], 0x20
jge 0x53cf58
mov edi, ebx
cmp edi, 0x100
jb 0x53cf10
xor edx, edx
jmp 0x53cf28
push 1
call fcn.00540d00
mov eax, dword [eax + 0x1bc]
mov edx, dword [eax + 8]
movzx edx, word [edx + ebx*2]
pop ecx
and edx, 8
test edx, edx
jne 0x53ced2
cmp edi, 0x100
jb 0x53cf38
xor ecx, ecx
jmp 0x53cf50
push 1
call fcn.00540d00
pop ecx
mov ecx, dword [eax + 0x1bc]
mov eax, dword [ecx + 8]
movzx ecx, word [eax + ebx*2]
and ecx, 1
test ecx, ecx
jne 0x53ced2
cmp ebx, 0x29
je 0x53cf67
mov esi, 0x1000
jmp 0x53d6f4
add dword [esp + 0x18], 1
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x7c], 0
mov byte [esp + eax + 0x84], 0
fldz
je 0x53cfb0
lea edi, [esp + 0x84]
mov ecx, edi
mov eax, dword [ecx]
test al, 0xff
jne 0x53cf92
xor eax, eax
mov dword [esp + 0xb4], 0x7ff80000
mov dword [esp + 0xb0], eax
fld qword [esp + 0xb0]
fchs
jmp 0x53cfda
lea edx, [esp + 0x84]
mov ecx, edx
mov eax, dword [ecx]
test al, 0xff
jne 0x53cfc1
xor eax, eax
mov dword [esp + 0xbc], 0x7ff80000
mov dword [esp + 0xb8], eax
fld qword [esp + 0xb8]
mov ebx, dword [esp]
add ebx, esi
add ebx, dword [esp + 0x18]
add ebx, dword [esp + 8]
mov eax, dword [ebp + 0x14]
mov dword [eax], ebx
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
fstp st(1)
ret
mov esi, 0x1000
jmp 0x53d6f4
cmp ebx, dword [esp + 0x6c]
jne 0x53d010
mov esi, 0x10
jmp 0x53d6e0
cmp ebx, 0x100
jb 0x53d020
xor ecx, ecx
jmp 0x53d038
push 1
call fcn.00540d00
mov edx, dword [eax + 0x1bc]
pop ecx
mov ecx, dword [edx + 8]
movzx ecx, word [ecx + ebx*2]
and ecx, 8
test ecx, ecx
jne 0x53d046
mov esi, 0x1000
jmp 0x53d6f4
cmp ebx, 0x30
jne 0x53d0b0
add dword [esp + 0x74], 1
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
cmp eax, 0x100
mov dword [esp + 0x1c], eax
mov ebx, eax
jae 0x53d087
push 1
call fcn.00540d00
mov eax, dword [eax + 0x1bc]
pop ecx
mov esi, dword [eax + 0xc]
mov ecx, dword [esp + 0x1c]
movzx eax, byte [esi + ecx]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], 0x58
jne 0x53d0a0
mov esi, 0x8000
mov dword [esp + 0x28], 1
jmp 0x53d6f4
mov esi, 4
jmp 0x53d6f4
mov esi, 8
jmp 0x53d6f4
cmp ebx, 0x30
je 0x53d6e0
mov esi, 8
jmp 0x53d6f4
cmp ebx, 0x100
jb 0x53d0e0
xor edx, edx
jmp 0x53d0f8
push 1
call fcn.00540d00
mov edi, dword [eax + 0x1bc]
mov edx, dword [edi + 8]
movzx edx, word [edx + ebx*2]
pop ecx
and edx, 8
test edx, edx
jne 0x53d120
cmp ebx, dword [esp + 0x6c]
jne 0x53d110
mov esi, 0x20
jmp 0x53d6e0
mov esi, 0x40
jmp 0x53d6f4
cmp byte [esp + 0x48], 0x14
jae 0x53d140
movzx ecx, byte [esp + 0x48]
add byte [esp + 0x48], 1
movzx ecx, cl
mov byte [esp + ecx + 0x49], bl
jmp 0x53d6e0
add dword [esp + 0x3c], 1
jmp 0x53d6e0
cmp ebx, 0x100
jb 0x53d160
xor esi, esi
jmp 0x53d178
push 1
call fcn.00540d00
mov eax, dword [eax + 0x1bc]
mov esi, dword [eax + 8]
movzx esi, word [esi + ebx*2]
pop ecx
and esi, 8
test esi, esi
jne 0x53d186
mov esi, 0x1000
jmp 0x53d6f4
mov esi, 0x20
jmp 0x53d6f4
cmp ebx, 0x100
jb 0x53d1a0
xor edi, edi
jmp 0x53d1b8
push 1
call fcn.00540d00
mov edi, dword [eax + 0x1bc]
mov edx, dword [edi + 8]
movzx edi, word [edx + ebx*2]
pop ecx
and edi, 8
test edi, edi
jne 0x53d1c6
mov esi, 0x40
jmp 0x53d6f4
movzx eax, byte [esp + 0x48]
cmp al, 0x14
jae 0x53d6e0
cmp ebx, 0x30
jne 0x53d1dc
test al, al
je 0x53d1ed
movzx ecx, byte [esp + 0x48]
add byte [esp + 0x48], 1
movzx ecx, cl
mov byte [esp + ecx + 0x49], bl
sub dword [esp + 0x3c], 1
jmp 0x53d6e0
cmp ebx, 0x100
jb 0x53d203
mov edx, ebx
jmp 0x53d218
push 1
call fcn.00540d00
mov eax, dword [eax + 0x1bc]
mov edi, dword [eax + 0xc]
pop ecx
movzx edx, byte [edi + ebx]
cmp edx, 0x45
jne 0x53d227
mov esi, pe_nt_image_headers32
jmp 0x53d6e0
mov esi, 0x800
jmp 0x53d6f4
cmp ebx, 0x2b
jne 0x53d250
add dword [esp + 0x74], 1
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov ebx, eax
jmp 0x53d271
cmp ebx, 0x2d
jne 0x53d271
add dword [esp + 0x74], 1
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov ebx, eax
mov dword [esp + 0x78], 1
mov esi, 0x100
jmp 0x53d6f4
cmp ebx, 0x100
jb 0x53d290
xor esi, esi
jmp 0x53d2a8
push 1
call fcn.00540d00
mov edx, dword [eax + 0x1bc]
mov esi, dword [edx + 8]
movzx esi, word [esi + ebx*2]
pop ecx
and esi, 8
test esi, esi
jne 0x53d2b6
mov esi, 0x1000
jmp 0x53d6f4
cmp ebx, 0x30
jne 0x53d2c5
mov esi, 0x200
jmp 0x53d6e0
mov esi, 0x400
jmp 0x53d6f4
cmp ebx, 0x30
je 0x53d6e0
mov esi, 0x400
jmp 0x53d6f4
cmp ebx, 0x100
jb 0x53d2f0
xor ecx, ecx
jmp 0x53d308
push 1
call fcn.00540d00
pop ecx
mov ecx, dword [eax + 0x1bc]
mov eax, dword [ecx + 8]
movzx ecx, word [eax + ebx*2]
and ecx, 8
test ecx, ecx
jne 0x53d316
mov esi, 0x800
jmp 0x53d6f4
mov ecx, dword [esp + 0x14]
mov edx, ecx
lea eax, [ecx + edx*4]
add eax, eax
mov dword [esp + 0x14], eax
lea edi, [ebx - 0x30]
add dword [esp + 0x14], edi
mov eax, dword [esp + 0x14]
cmp eax, 0x7fff
jle 0x53d6e0
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
jmp 0x53d6e0
mov edx, dword [esp + 0x28]
sub edx, 1
je 0x53d3b0
sub edx, 1
je 0x53d3f0
sub edx, 2
je 0x53d406
sub edx, 4
je 0x53d4e5
sub edx, 8
je 0x53d5b0
sub edx, 0x10
je 0x53d5f1
sub edx, 0x20
je 0x53d626
sub edx, 0x40
je 0x53d674
sub edx, 0x80
je 0x53d680
jmp 0x53d6f4
lea ebx, [esp + 0x34]
mov dword [ebx], 0
mov eax, ebx
mov dword [ebx + 4], 0
mov dword [esp + 0x70], eax
mov dword [esp + 0x40], 0xe
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 2
jmp 0x53d6e0
cmp ebx, 0x30
je 0x53d6e0
mov dword [esp + 0x28], 4
jmp 0x53d6f4
cmp ebx, 0x100
mov dword [esp + 0x18], ebx
jb 0x53d416
xor eax, eax
jmp 0x53d430
push 1
call fcn.00540d00
pop ecx
mov ecx, dword [eax + 0x1bc]
mov eax, dword [ecx + 8]
movzx eax, word [eax + ebx*2]
and eax, 0x400
test eax, eax
jne 0x53d454
cmp ebx, dword [esp + 0x6c]
jne 0x53d447
mov dword [esp + 0x28], 8
jmp 0x53d6e0
mov dword [esp + 0x28], 0x10
jmp 0x53d6f4
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x30], eax
jae 0x53d6e0
mov edi, dword [esp + 0x2c]
add dword [esp + 0x30], 1
cmp edi, 0x80000000
sbb edi, 0xffffffff
sar edi, 1
mov ecx, dword [esp + 0x70]
movzx eax, byte [ecx + edi]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x18], 0x100
jae 0x53d4a1
push 1
call fcn.00540d00
mov edx, dword [eax + 0x1bc]
pop ecx
mov ecx, dword [edx + 0xc]
movzx ebx, byte [ecx + ebx]
cmp ebx, 0x41
mov ecx, ebx
jl 0x53d4b0
add ecx, 0xffffffc9
jmp 0x53d4b3
sub ecx, 0x30
mov eax, dword [esp + 0x2c]
cdq
and eax, 1
xor eax, edx
sub eax, edx
je 0x53d4c7
or byte [esp + 0x1c], cl
jmp 0x53d4d0
mov bl, cl
shl bl, 4
or byte [esp + 0x1c], bl
mov eax, dword [esp + 0x70]
mov cl, byte [esp + 0x1c]
mov byte [eax + edi], cl
add dword [esp + 0x2c], 1
jmp 0x53d6e0
cmp ebx, 0x100
mov dword [esp + 0x18], ebx
jb 0x53d4f5
xor edx, edx
jmp 0x53d510
push 1
call fcn.00540d00
mov eax, dword [eax + 0x1bc]
mov edx, dword [eax + 8]
movzx edx, word [edx + ebx*2]
pop ecx
and edx, 0x400
test edx, edx
jne 0x53d521
mov dword [esp + 0x28], 0x10
jmp 0x53d6f4
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x30], eax
jae 0x53d6e0
mov edi, dword [esp + 0x2c]
cmp edi, 0x80000000
sbb edi, 0xffffffff
sar edi, 1
mov ecx, dword [esp + 0x70]
movzx eax, byte [ecx + edi]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x18], 0x100
jae 0x53d569
push 1
call fcn.00540d00
pop ecx
mov ecx, dword [eax + 0x1bc]
mov eax, dword [ecx + 0xc]
movzx ebx, byte [eax + ebx]
cmp ebx, 0x41
mov ecx, ebx
jl 0x53d575
add ecx, 0xffffffc9
jmp 0x53d578
sub ecx, 0x30
mov eax, dword [esp + 0x2c]
cdq
and eax, 1
xor eax, edx
sub eax, edx
je 0x53d590
or byte [esp + 0x1c], cl
jmp 0x53d599
mov bl, cl
shl bl, 4
or byte [esp + 0x1c], bl
mov eax, dword [esp + 0x70]
mov cl, byte [esp + 0x1c]
mov byte [eax + edi], cl
add dword [esp + 0x2c], 1
jmp 0x53d6e0
cmp ebx, 0x100
jb 0x53d5c0
mov edx, ebx
jmp 0x53d5d5
push 1
call fcn.00540d00
mov edx, dword [eax + 0x1bc]
pop ecx
mov ecx, dword [edx + 0xc]
movzx edx, byte [ecx + ebx]
cmp edx, 0x50
jne 0x53d5e7
mov dword [esp + 0x28], 0x20
jmp 0x53d6e0
mov esi, 0x800
jmp 0x53d6f4
cmp ebx, 0x2d
jne 0x53d603
mov dword [esp + 0x80], 1
jmp 0x53d619
cmp ebx, 0x2b
je 0x53d619
push 1
push ebx
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
sub dword [esp + 0x74], 1
mov dword [esp + 0x28], 0x40
jmp 0x53d6e0
cmp ebx, 0x100
jb 0x53d632
xor edi, edi
jmp 0x53d64a
push 1
call fcn.00540d00
mov eax, dword [eax + 0x1bc]
mov edi, dword [eax + 8]
movzx edi, word [edi + ebx*2]
pop ecx
and edi, 8
test edi, edi
jne 0x53d658
mov esi, 0x1000
jmp 0x53d6f4
cmp ebx, 0x30
jne 0x53d667
mov dword [esp + 0x28], pe_nt_image_headers32
jmp 0x53d6e0
mov dword [esp + 0x28], 0x100
jmp 0x53d6f4
cmp ebx, 0x30
je 0x53d6e0
mov esi, 0x100
jmp 0x53d6f4
cmp ebx, 0x100
jb 0x53d690
xor edx, edx
jmp 0x53d6a8
push 1
call fcn.00540d00
mov edx, dword [eax + 0x1bc]
pop ecx
mov ecx, dword [edx + 8]
movzx edx, word [ecx + ebx*2]
and edx, 8
test edx, edx
jne 0x53d6b3
mov esi, 0x800
jmp 0x53d6f4
mov ecx, dword [esp + 0x20]
add ebx, 0xffffffd0
mov edx, ecx
lea eax, [ecx + edx*4]
add eax, eax
mov dword [esp + 0x20], eax
add dword [esp + 0x20], ebx
cmp dword [esp + 0x14], 0x7fff
mov eax, dword [esp + 0x20]
jle 0x53d6e0
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
add dword [esp + 0x74], 1
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov ebx, eax
mov eax, dword [ebp + 8]
cmp dword [esp + 0x74], eax
jg 0x53d70e
cmp ebx, 0xffffffff
je 0x53d70e
test esi, 0x1800
je 0x53cbd2
cmp esi, 0x8000
je 0x53d723
xor ecx, ecx
test esi, 0xe2c
sete cl
jmp 0x53d73f
xor ecx, ecx
mov edi, dword [esp + 0x74]
add edi, 0xffffffff
cmp edi, 2
setle cl
jle 0x53d73f
test dword [esp + 0x28], 0x18e
sete cl
test ecx, ecx
je 0x53d750
mov eax, dword [ebp + 0x14]
mov dword [eax], 0
jmp 0x53d75f
mov edx, dword [esp + 0x74]
add edx, 0xffffffff
add edx, dword [esp]
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
push 1
push ebx
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
cmp dword [esp + 0x28], 0
fldz
jne 0x53d8d4
cmp dword [esp + 0x78], 0
je 0x53d789
mov eax, dword [esp + 0x14]
neg eax
mov dword [esp + 0x14], eax
movzx ebx, byte [esp + 0x48]
movzx edx, bl
mov ecx, edx
lea eax, [esp + edx + 0x49]
jmp 0x53d7a5
add dword [esp + 0x3c], 1
mov edi, ecx
sub ecx, 1
test edi, edi
je 0x53d7b6
sub eax, 1
cmp byte [eax], 0x30
je 0x53d7a0
mov dl, cl
add dl, 1
mov byte [esp + 0x48], dl
cmp byte [esp + 0x48], 0
jne 0x53d7d8
movzx eax, byte [esp + 0x48]
add byte [esp + 0x48], 1
movzx eax, al
mov byte [esp + eax + 0x49], 0x30
mov eax, dword [esp + 0x3c]
add dword [esp + 0x14], eax
cmp dword [esp + 0x14], 0xffff8000
jl 0x53d7f4
cmp dword [esp + 0x14], 0x7fff
jle 0x53d7fd
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax], 0
je 0x53d840
cmp dword [esp + 0x78], 0
je 0x53d818
lea esp, [ebp - 0xc]
pop edi
pop esi
fstp st(0)
pop ebx
pop ebp
fldz
ret
cmp dword [esp + 0x7c], 0
je 0x53d830
fld qword [0x594530]
fchs
jmp 0x53d836
fld qword [0x594530]
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
fstp st(1)
ret
mov ax, word [esp + 0x14]
lea edx, [esp + 0x44]
mov word [esp + 0x46], ax
push edx
fstp st(0)
call fcn.00540f40
pop ecx
fstp qword [esp]
fldz
fcomp qword [esp]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x53d887
fld qword [esp]
fcomp qword [0x594538]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x53d887
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
jmp 0x53d8b2
fld qword [esp]
fcomp qword [0x594540]
fnstsw ax
test ah, 0x45
jne 0x53d8b2
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
mov edi, dword [0x594530]
mov eax, dword [0x594534]
mov dword [esp], edi
mov dword [esp + 4], eax
cmp dword [esp + 0x7c], 0
je 0x53d8c9
test esi, 0xe2c
je 0x53d8c9
xor dword [esp + 4], 0x80000000
fld qword [esp]
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret
cmp dword [esp + 0x80], 0
je 0x53d8e8
mov ecx, dword [esp + 0x20]
neg ecx
mov dword [esp + 0x20], ecx
mov ebx, dword [esp + 0x30]
lea ebx, [ebx*4]
add dword [esp + 0x20], ebx
mov dword [esp + 8], 0
movzx eax, byte [esp + 0x34]
jmp 0x53d910
add dword [esp + 8], 1
sub dword [esp + 0x20], 1
cmp dword [esp + 8], 4
jae 0x53d926
mov edx, pe_nt_image_headers32
mov ecx, dword [esp + 8]
sar edx, cl
test edx, eax
je 0x53d906
mov esi, dword [esp + 8]
add esi, 1
je 0x53db13
lea ebx, [esp + 0x3b]
lea eax, [esp + 0x34]
cmp ebx, eax
mov byte [esp + 0x24], 0
mov dword [esp + 0x70], ebx
jb 0x53db13
add eax, 8
lea edi, [esp + 0x34]
sub edi, ebx
add edi, 0xffffffff
neg edi
cmp edi, 8
mov dword [esp + 0x78], eax
jle 0x53dac1
mov ecx, dword [esp + 8]
add ecx, 1
mov esi, 8
sub esi, ecx
mov cl, byte [esp + 8]
add cl, 1
mov eax, dword [esp + 0x70]
movzx eax, byte [eax]
movzx ebx, al
mov eax, dword [esp + 0x70]
mov dl, bl
shl dl, cl
or dl, byte [esp + 0x24]
mov byte [eax], dl
mov eax, dword [esp + 0x70]
mov ecx, esi
sar ebx, cl
movzx ecx, byte [eax - 1]
movzx eax, cl
mov dword [esp + 0x2c], eax
mov cl, byte [esp + 8]
add cl, 1
mov dl, byte [esp + 0x2c]
shl dl, cl
or dl, bl
mov eax, dword [esp + 0x70]
mov byte [eax - 1], dl
mov ecx, esi
sar dword [esp + 0x2c], cl
mov eax, dword [esp + 0x70]
movzx eax, byte [eax - 2]
movzx edx, al
mov cl, byte [esp + 8]
add cl, 1
mov eax, dword [esp + 0x70]
mov bl, dl
shl bl, cl
or bl, byte [esp + 0x2c]
mov byte [eax - 2], bl
mov eax, dword [esp + 0x70]
mov ecx, esi
sar edx, cl
movzx ecx, byte [eax - 3]
movzx eax, cl
mov dword [esp + 0x30], eax
mov cl, byte [esp + 8]
add cl, 1
mov bl, byte [esp + 0x30]
shl bl, cl
or bl, dl
mov eax, dword [esp + 0x70]
mov byte [eax - 3], bl
mov ecx, esi
sar dword [esp + 0x30], cl
mov eax, dword [esp + 0x70]
movzx eax, byte [eax - 4]
movzx ebx, al
mov cl, byte [esp + 8]
add cl, 1
mov eax, dword [esp + 0x70]
mov dl, bl
shl dl, cl
or dl, byte [esp + 0x30]
mov byte [eax - 4], dl
mov eax, dword [esp + 0x70]
mov ecx, esi
sar ebx, cl
movzx ecx, byte [eax - 5]
movzx eax, cl
mov dword [esp + 0x3c], eax
mov cl, byte [esp + 8]
add cl, 1
mov dl, byte [esp + 0x3c]
shl dl, cl
or dl, bl
mov eax, dword [esp + 0x70]
mov byte [eax - 5], dl
mov ecx, esi
sar dword [esp + 0x3c], cl
mov eax, dword [esp + 0x70]
movzx eax, byte [eax - 6]
movzx edx, al
mov cl, byte [esp + 8]
add cl, 1
mov eax, dword [esp + 0x70]
mov bl, dl
shl bl, cl
or bl, byte [esp + 0x3c]
mov byte [eax - 6], bl
mov ecx, dword [esp + 0x70]
movzx eax, byte [ecx - 7]
mov dword [esp + 0x24], eax
mov cl, byte [esp + 8]
add cl, 1
mov bl, byte [esp + 0x24]
shl bl, cl
mov eax, dword [esp + 0x70]
mov ecx, esi
sar edx, cl
or bl, dl
mov byte [eax - 7], bl
sar dword [esp + 0x24], cl
sub dword [esp + 0x70], 8
mov eax, dword [esp + 0x78]
cmp dword [esp + 0x70], eax
jae 0x53d975
lea ecx, [esp + 0x34]
cmp dword [esp + 0x70], ecx
jb 0x53db13
mov esi, dword [esp + 8]
add esi, 1
mov edi, 8
sub edi, esi
lea eax, [eax]
mov eax, dword [esp + 0x70]
movzx ebx, byte [eax]
mov cl, byte [esp + 8]
add cl, 1
mov eax, dword [esp + 0x70]
mov dl, bl
shl dl, cl
or dl, byte [esp + 0x24]
mov byte [eax], dl
mov ecx, edi
sar ebx, cl
lea eax, [esp + 0x34]
mov byte [esp + 0x24], bl
sub dword [esp + 0x70], 1
cmp dword [esp + 0x70], eax
jae 0x53dae0
lea ecx, [esp + 0xc]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [esp + 0x6c], 0xb
mov dword [esp + 0x40], 0
mov dword [esp + 0x80], 0
mov esi, 1
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x80]
add edi, 8
cmp edi, 0x35
movzx ebx, byte [esp + eax + 0x34]
jbe 0x53db68
mov cl, 0x35
sub cl, byte [esp + 0x40]
mov al, 0xff
shl al, cl
and bl, al
movzx eax, bl
mov ebx, eax
mov ecx, 7
and ecx, dword [esp + 0x6c]
mov edx, 7
sub edx, ecx
mov ecx, edx
sar ebx, cl
or byte [esp + esi + 0xc], bl
add esi, 1
mov cl, 8
sub cl, dl
shl al, cl
add dword [esp + 0x6c], 8
or byte [esp + esi + 0xc], al
add dword [esp + 0x80], 1
add dword [esp + 0x40], 8
cmp dword [esp + 0x40], 0x35
jb 0x53db44
movzx ebx, word [esp + 0x20]
add ebx, 0x3fe
movzx edi, bx
test edi, 0xfffff800
je 0x53dbd6
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
lea esp, [ebp - 0xc]
pop edi
pop esi
fstp st(0)
pop ebx
pop ebp
fldz
ret
fldz
fcomp qword [0x594540]
fnstsw ax
movzx edx, bx
shl edx, 5
movzx edx, dx
mov ecx, edx
sar ecx, 9
sar edx, 1
or byte [esp + 0xc], cl
or byte [esp + 0xd], dl
test ah, 0x45
jne 0x53dc06
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
cmp dword [esp + 0x7c], 0
je 0x53dc12
or byte [esp + 0xc], 0x80
lea esi, [esp + 0xc]
xor edi, edi
movzx ecx, byte [esi + edi]
mov eax, 7
sub eax, edi
movzx ebx, byte [esi + eax]
mov byte [esi + edi], bl
add edi, 1
cmp edi, 4
mov byte [esi + eax], cl
jb 0x53dc18
fstp st(0)
fld qword [esp + 0xc]
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret