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

Disassembly:
push 0xffffffffffffffff
push 0x5de916
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x150
push ebx
push ebp
push esi
push edi
mov eax, dword [esp + 0x178]
xor ebp, ebp
cmp eax, ebp
mov dword [esp + 0x168], 2
je 0x53f2fa
mov ecx, dword [esp + 0x17c]
sub ecx, eax
sar ecx, 2
je 0x53f2fa
mov edx, dword [esp + 0x188]
cmp edx, ebp
je 0x53f2fa
mov eax, dword [esp + 0x18c]
sub eax, edx
sar eax, 2
je 0x53f2fa
cmp ecx, eax
je 0x53eadd
lea ecx, [esp + 0x170]
mov byte [esp + 0x168], 1
call fcn.005581a0
mov edi, dword [esp + 0x17c]
mov esi, dword [esp + 0x178]
cmp esi, edi
mov byte [esp + 0x168], 0
je 0x53ea8a
push ebp
mov ecx, esi
call fcn.00406c10
add esi, 4
cmp esi, edi
jne 0x53ea74
mov esi, dword [esp + 0x178]
push esi
call fcn.005bc500
mov edi, dword [esp + 0x190]
mov esi, dword [esp + 0x18c]
add esp, 4
cmp esi, edi
mov dword [esp + 0x178], ebp
mov dword [esp + 0x17c], ebp
mov dword [esp + 0x180], ebp
mov dword [esp + 0x168], 0xffffffff
je 0x53f38f
push ebp
mov ecx, esi
call fcn.00406c10
add esi, 4
cmp esi, edi
jne 0x53eac9
jmp 0x53f388
lea ecx, [esp + 0x54]
call fcn.00544b40
push ecx
lea eax, [esp + 0x174]
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
mov byte [esp + 0x170], 3
call fcn.00558070
mov ecx, dword [0x619a6c]
call fcn.00544c70
mov byte [esp + 0x48], 0
mov ecx, dword [esp + 0x178]
cmp ecx, ebp
jne 0x53eb21
xor eax, eax
jmp 0x53eb2d
mov eax, dword [esp + 0x17c]
sub eax, ecx
sar eax, 2
mov ecx, dword [esp + 0x48]
and ecx, 0xff
cmp ecx, eax
jae 0x53eb66
push ecx
lea ecx, [esp + 0x178]
call fcn.00402a80
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call fcn.00558070
mov ecx, dword [0x619a6c]
call fcn.00544db0
inc byte [esp + 0x48]
jmp 0x53eb12
lea ecx, [esp + 0x54]
push ecx
mov ecx, dword [0x619a6c]
call fcn.00545270
test al, al
je 0x53f244
push ebp
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x44], esp
push 6
push 0x609448
call fcn.00558100
push ecx
mov byte [esp + 0x178], 4
mov ecx, esp
mov dword [esp + 0x44], esp
push 6
push 0x60e420
call fcn.00558100
mov ecx, 0x619a58
mov byte [esp + 0x178], 3
call fcn.00543af0
mov dl, byte [esp + 0x13]
xor bl, bl
xor edi, edi
mov byte [esp + 0x50], bl
mov byte [esp + 0x14], dl
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], ebp
mov al, byte [esp + 0x13]
mov dword [esp + 0x28], ebp
mov byte [esp + 0x24], al
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
mov byte [esp + 0x168], 6
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x17c]
cmp ecx, ebp
jne 0x53ec0e
xor eax, eax
jmp 0x53ec15
mov eax, edx
sub eax, ecx
sar eax, 2
mov esi, dword [esp + 0x50]
and esi, 0xff
cmp esi, eax
jae 0x53ec78
xor cx, cx
mov cl, bl
push ecx
lea ecx, [esp + 0x58]
call fcn.00545400
test al, al
je 0x53ec6c
mov edx, dword [esp + 0x178]
mov ecx, dword [esp + 0x1c]
lea eax, [edx + esi*4]
push eax
push 1
push ecx
lea ecx, [esp + 0x20]
call fcn.00402a90
mov edx, dword [esp + 0x188]
mov ecx, dword [esp + 0x2c]
lea eax, [edx + esi*4]
push eax
push 1
push ecx
lea ecx, [esp + 0x30]
call fcn.00402a90
mov edi, dword [esp + 0x1c]
inc bl
mov byte [esp + 0x50], bl
jmp 0x53ebf8
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x53ec8e
sub edi, eax
test edi, 0xfffffffc
jne 0x53eee8
cmp ecx, ebp
jne 0x53ec96
xor esi, esi
jmp 0x53ec9d
sub edx, ecx
sar edx, 2
mov esi, edx
lea ecx, [esp + 0x14]
call fcn.0056e680
cmp esi, eax
ja 0x53ecf2
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
push edx
push eax
push ecx
call fcn.00412590
mov edx, dword [esp + 0x28]
add esp, 0xc
lea ecx, [esp + 0x14]
push edx
push eax
call fcn.00402cf0
lea ecx, [esp + 0x174]
call fcn.0056e680
mov ecx, dword [esp + 0x18]
lea edx, [ecx + eax*4]
mov dword [esp + 0x1c], edx
jmp 0x53edb3
lea ecx, [esp + 0x14]
call fcn.00412570
lea ecx, [esp + 0x174]
mov esi, eax
call fcn.0056e680
cmp eax, esi
ja 0x53ed4f
mov esi, dword [esp + 0x178]
lea ecx, [esp + 0x14]
call fcn.0056e680
mov ecx, dword [esp + 0x178]
lea esi, [esi + eax*4]
mov eax, dword [esp + 0x18]
push eax
push esi
push ecx
call fcn.00412590
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x188]
add esp, 0xc
lea ecx, [esp + 0x14]
push edx
push eax
push esi
call fcn.00402d20
jmp 0x53ecd6
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.00402cf0
mov edx, dword [esp + 0x18]
push edx
call fcn.005bc500
add esp, 4
lea ecx, [esp + 0x174]
call fcn.0056e680
cmp eax, ebp
jge 0x53ed81
xor eax, eax
shl eax, 2
push eax
call fcn.005bcf2f
mov ecx, dword [esp + 0x180]
mov edx, dword [esp + 0x17c]
add esp, 4
mov dword [esp + 0x18], eax
push eax
push ecx
push edx
lea ecx, [esp + 0x20]
call fcn.00402d20
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x188]
cmp eax, ebp
jne 0x53edc2
xor esi, esi
jmp 0x53edce
mov esi, dword [esp + 0x18c]
sub esi, eax
sar esi, 2
lea ecx, [esp + 0x24]
call fcn.0056e680
cmp esi, eax
ja 0x53ee23
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18c]
mov edx, dword [esp + 0x188]
push eax
push ecx
push edx
call fcn.00412590
mov ecx, dword [esp + 0x38]
add esp, 0xc
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.00402cf0
lea ecx, [esp + 0x184]
call fcn.0056e680
mov edx, dword [esp + 0x28]
lea eax, [edx + eax*4]
mov dword [esp + 0x2c], eax
jmp 0x53eee8
lea ecx, [esp + 0x24]
call fcn.00412570
lea ecx, [esp + 0x184]
mov esi, eax
call fcn.0056e680
cmp eax, esi
ja 0x53ee80
mov esi, dword [esp + 0x188]
lea ecx, [esp + 0x24]
call fcn.0056e680
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x188]
lea esi, [esi + eax*4]
push ecx
push esi
push edx
call fcn.00412590
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x198]
add esp, 0xc
push eax
push ecx
push esi
lea ecx, [esp + 0x30]
call fcn.00402d20
jmp 0x53ee07
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
push ecx
push edx
lea ecx, [esp + 0x2c]
call fcn.00402cf0
mov eax, dword [esp + 0x28]
push eax
call fcn.005bc500
add esp, 4
lea ecx, [esp + 0x184]
call fcn.0056e680
cmp eax, ebp
jge 0x53eeb2
xor eax, eax
lea ecx, [eax*4]
push ecx
call fcn.005bcf2f
mov edx, dword [esp + 0x190]
add esp, 4
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x24]
push eax
mov eax, dword [esp + 0x18c]
push edx
push eax
call fcn.00402d20
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov ecx, dword [0x609450]
xor eax, eax
mov dword [esp + 0x60], ecx
mov ecx, 0x3e
lea edi, [esp + 0x64]
push ebp
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x44]
stosb byte es:[edi], al
call fcn.00558090
push ecx
mov byte [esp + 0x16c], 7
mov ecx, esp
mov dword [esp + 0x38], esp
push ebp
call fcn.00558090
mov ecx, 0x626b90
call fcn.00558390
xor bl, bl
push 0
lea edx, [esp + 0x17]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x48], esp
push edx
push 0x619c18
call fcn.00404ee0
sub esp, 0x10
lea eax, [esp + 0x73]
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
push 0x619c18
mov byte [esp + 0x194], 8
call fcn.00404ee0
mov ecx, dword [0x619a60]
mov byte [esp + 0x18c], 7
call fcn.005455c0
mov byte [esp + 0x3c], 0
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x53ef8b
xor eax, eax
jmp 0x53ef94
mov eax, dword [esp + 0x1c]
sub eax, ecx
sar eax, 2
mov ebp, dword [esp + 0x3c]
and ebp, 0xff
cmp ebp, eax
jae 0x53f186
cmp byte [0x619c14], 1
jne 0x53f010
lea ecx, [esp + 0x44]
call fcn.00558060
mov byte [esp + 0x168], 9
mov esi, 0x64
mov al, byte [0x626b94]
mov cl, al
inc al
push ecx
lea ecx, [esp + 0x48]
mov byte [0x626b94], al
call fcn.00558500
dec esi
jne 0x53efc5
push ecx
lea edx, [esp + 0x48]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call fcn.00558070
lea ecx, [esp + 0x44]
call fcn.00558390
lea ecx, [esp + 0x44]
mov byte [esp + 0x168], 7
call fcn.005581a0
jmp 0x53f0c0
mov edi, 0x609450
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x60]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x626b90
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x2c]
lea ecx, [ecx + ebp*4]
call fcn.00558440
test al, al
je 0x53f053
mov al, byte [esp + 0x3c]
test al, al
jne 0x53f0c0
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push 0
call fcn.00558090
lea edx, [esp + 0x44]
lea ecx, [esp + 0x28]
push edx
push ebp
mov byte [esp + 0x174], 0xa
call fcn.00402a80
push ecx
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.00558070
mov byte [esp + 0x174], 7
call fcn.0053e410
add esp, 0xc
test al, al
jne 0x53f09b
mov bl, 1
push ebp
lea ecx, [esp + 0x28]
call fcn.00402a80
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00558070
mov ecx, 0x626b90
call fcn.00558390
test bl, bl
jne 0x53f0fe
lea eax, [esp + 0x60]
lea edx, [esp + 0x40]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push edx
call fcn.00558070
push 5
push ebp
lea ecx, [esp + 0x24]
mov byte [esp + 0x178], 7
call fcn.00402a80
mov ecx, eax
call fcn.00558380
push eax
call dword [esp + 0x1a0]
add esp, 0xc
jmp 0x53f124
mov edi, 0x60f8f0
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x60]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0
push 0xffff
sub esp, 0x10
lea edx, [esp + 0x66]
mov ecx, esp
mov dword [esp + 0x4c], esp
lea eax, [esp + 0x78]
push edx
push eax
call fcn.00404ee0
push ebp
lea ecx, [esp + 0x30]
mov byte [esp + 0x184], 0xc
call fcn.00402a80
push ecx
mov ecx, esp
mov dword [esp + 0x54], esp
push eax
call fcn.00558070
mov ecx, dword [0x619a60]
mov byte [esp + 0x184], 7
call fcn.00545a80
mov al, byte [esp + 0x3c]
xor bl, bl
inc al
mov byte [esp + 0x3c], al
jmp 0x53ef7f
mov ecx, dword [0x619a60]
push 0
call fcn.00545f70
cmp ax, 0xb
jne 0x53ef2d
lea ecx, [esp + 0x40]
mov byte [esp + 0x168], 6
call fcn.005581a0
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
cmp esi, edi
mov byte [esp + 0x168], 5
je 0x53f1d9
xor ebx, ebx
push ebx
mov ecx, esi
call fcn.00406c10
add esi, 4
cmp esi, edi
jne 0x53f1c4
mov esi, dword [esp + 0x28]
jmp 0x53f1db
xor ebx, ebx
push esi
call fcn.005bc500
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
add esp, 4
cmp esi, edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov byte [esp + 0x168], 3
je 0x53f217
push ebx
mov ecx, esi
call fcn.00406c10
add esi, 4
cmp esi, edi
jne 0x53f204
mov esi, dword [esp + 0x18]
push esi
call fcn.005bc500
add esp, 4
lea ecx, [esp + 0x54]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov byte [esp + 0x168], 2
call fcn.005581a0
xor ebp, ebp
jmp 0x53eadd
lea ecx, [esp + 0x54]
mov byte [esp + 0x168], 2
call fcn.005581a0
lea ecx, [esp + 0x170]
mov byte [esp + 0x168], 1
call fcn.005581a0
mov edi, dword [esp + 0x17c]
mov esi, dword [esp + 0x178]
cmp esi, edi
mov byte [esp + 0x168], 0
je 0x53f299
push ebp
mov ecx, esi
call fcn.00406c10
add esi, 4
cmp esi, edi
jne 0x53f283
mov esi, dword [esp + 0x178]
push esi
call fcn.005bc500
mov edi, dword [esp + 0x190]
mov esi, dword [esp + 0x18c]
add esp, 4
cmp esi, edi
mov dword [esp + 0x178], ebp
mov dword [esp + 0x17c], ebp
mov dword [esp + 0x180], ebp
mov dword [esp + 0x168], 0xffffffff
je 0x53f2ea
push ebp
mov ecx, esi
call fcn.00406c10
add esi, 4
cmp esi, edi
jne 0x53f2d4
mov esi, dword [esp + 0x188]
push esi
call fcn.005bc500
add esp, 4
mov al, 1
jmp 0x53f39a
lea ecx, [esp + 0x170]
mov byte [esp + 0x168], 1
call fcn.005581a0
mov edi, dword [esp + 0x17c]
mov esi, dword [esp + 0x178]
cmp esi, edi
mov byte [esp + 0x168], 0
je 0x53f33e
push ebp
mov ecx, esi
call fcn.00406c10
add esi, 4
cmp esi, edi
jne 0x53f328
mov esi, dword [esp + 0x178]
push esi
call fcn.005bc500
mov edi, dword [esp + 0x190]
mov esi, dword [esp + 0x18c]
add esp, 4
cmp esi, edi
mov dword [esp + 0x178], ebp
mov dword [esp + 0x17c], ebp
mov dword [esp + 0x180], ebp
mov dword [esp + 0x168], 0xffffffff
je 0x53f38f
push ebp
mov ecx, esi
call fcn.00406c10
add esi, 4
cmp esi, edi
jne 0x53f379
mov esi, dword [esp + 0x188]
push esi
call fcn.005bc500
add esp, 4
xor al, al
mov ecx, dword [esp + 0x160]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x15c
ret