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

Disassembly:
mov ecx, dword [0x98d270]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xc]
cmp eax, dword [ecx + 8]
jbe 0x540031
sub esp, 0x8c
mov ecx, dword [esp + 0x94]
cmp ecx, 4
jl 0x53f888
lea eax, [ecx - 4]
cmp ecx, eax
jb 0x54002b
mov eax, dword [esp + 0x90]
lea edx, [ecx + eax - 4]
mov dword [esp], edx
lea edx, [0x70ac75]
mov dword [esp + 4], edx
mov dword [esp + 8], 4
call fcn.00403500
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x94]
jmp 0x53f88a
xor eax, eax
mov byte [esp + 0x1e], al
mov edx, dword [esp + 0x90]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00540040
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
movzx ecx, byte [esp + 0x14]
mov byte [esp + 0x1f], cl
mov edx, dword [esp + 0xc]
mov dword [esp + 0x74], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x38], ebx
movzx ebp, byte [esp + 0x1e]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x53f8de
mov esi, dword [esp + 0x94]
mov edi, 1
jmp 0x53f968
test eax, eax
jl 0x53f8f0
mov esi, dword [esp + 0x94]
xor edi, edi
jmp 0x53f9d2
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x53f904
mov esi, dword [esp + 0x94]
mov edi, 1
jmp 0x53f968
mov esi, dword [esp + 0x94]
cmp esi, 4
jl 0x53f966
lea edi, [esi - 4]
cmp esi, edi
jb 0x540022
mov eax, dword [esp + 0x90]
lea ecx, [esi + eax - 4]
mov dword [esp], ecx
lea ecx, [0x70ac79]
mov dword [esp + 4], ecx
mov dword [esp + 8], 4
call fcn.00403500
movzx eax, byte [esp + 0xc]
movzx ecx, byte [esp + 0x1f]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x38]
movzx ebp, byte [esp + 0x1e]
mov esi, dword [esp + 0x94]
mov edi, eax
mov eax, dword [esp + 0x30]
jmp 0x53f968
xor edi, edi
xchg edi, eax
test al, al
xchg edi, eax
je 0x53f975
mov edi, 1
jmp 0x53f9d2
cmp esi, 4
jl 0x53f9d0
lea edi, [esi - 4]
cmp esi, edi
jb 0x540019
mov eax, dword [esp + 0x90]
lea ecx, [esi + eax - 4]
mov dword [esp], ecx
lea ecx, [0x70ab8d]
mov dword [esp + 4], ecx
mov dword [esp + 8], 4
call fcn.00403500
movzx eax, byte [esp + 0xc]
movzx ecx, byte [esp + 0x1f]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x38]
movzx ebp, byte [esp + 0x1e]
mov esi, dword [esp + 0x94]
mov edi, eax
mov eax, dword [esp + 0x30]
jmp 0x53f9d2
xor edi, edi
xchg edi, eax
test al, al
xchg edi, eax
je 0x53fcdb
mov eax, dword [esp + 0x9c]
lea ecx, [eax - 1]
test ecx, ecx
jge 0x53f9f0
xor edx, edx
xor ebx, ebx
jmp 0x53fa5c
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x98]
lea edx, [ecx + eax*8 - 8]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
lea ebp, [0x6c9fa0]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.0040a060
mov eax, dword [esp + 0xc]
test eax, eax
je 0x53fa41
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
movzx ebp, byte [esp + 0x1e]
mov esi, dword [esp + 0x94]
mov edx, eax
mov eax, dword [esp + 0x9c]
jmp 0x53fa5c
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x34]
movzx ebp, byte [esp + 0x1e]
mov esi, dword [esp + 0x94]
xor edx, edx
xor ebx, ebx
test edx, edx
je 0x53fc1a
lea eax, [esi - 4]
cmp esi, eax
jb 0x540010
mov esi, dword [esp + 0xa0]
cmp esi, ecx
jb 0x540009
mov dword [esp + 0x68], ebx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x90]
mov dword [esp], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
call fcn.004c5a30
mov eax, dword [esp + 0x14]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
movzx edx, byte [0x934fe4]
test dl, dl
jne 0x53fae8
movzx edx, byte [esp + 0x1e]
test dl, dl
jmp 0x53fb10
mov dword [esp], 1
call fcn.00540680
lea edi, [esp + 0x4c]
lea esi, [esp + 4]
call fcn.00469122
movzx eax, byte [esp + 0x1e]
test al, al
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x2c]
je 0x53fb98
lea eax, [0x6dd020]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x2c]
mov dword [eax + 4], ecx
mov ecx, dword [0x98d4e0]
test ecx, ecx
jne 0x53fb3f
mov ecx, dword [esp + 0x70]
jmp 0x53fb4a
call fcn.00468990
mov ecx, dword [esp + 0x70]
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 8], ecx
mov ecx, dword [0x98d4e0]
test ecx, ecx
jne 0x53fb63
mov ecx, dword [esp + 0x68]
jmp 0x53fb6e
call fcn.00468990
mov ecx, dword [esp + 0x68]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea edi, [eax + 0x10]
lea esi, [esp + 0x4c]
call fcn.00469122
lea ecx, [0x773ec8]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
add esp, 0x8c
ret
lea eax, [0x6dd0a0]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x2c]
mov dword [eax + 4], ecx
mov ecx, dword [0x98d4e0]
test ecx, ecx
jne 0x53fbc1
mov ecx, dword [esp + 0x70]
jmp 0x53fbcc
call fcn.00468990
mov ecx, dword [esp + 0x70]
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 8], ecx
mov ecx, dword [0x98d4e0]
test ecx, ecx
jne 0x53fbe5
mov ecx, dword [esp + 0x68]
jmp 0x53fbf0
call fcn.00468990
mov ecx, dword [esp + 0x68]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea edi, [eax + 0x10]
lea esi, [esp + 0x4c]
call fcn.00469122
lea ecx, [0x773eb4]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
add esp, 0x8c
ret
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov ecx, dword [esp + 0x98]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x10], eax
call fcn.004c5a30
mov eax, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x78], ecx
mov dword [esp], 1
call fcn.00540680
lea edi, [esp + 0x58]
lea esi, [esp + 4]
call fcn.00469122
lea eax, [0x6dd0a0]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [0x98d4e0]
test ecx, ecx
jne 0x53fc99
mov ecx, dword [esp + 0x78]
jmp 0x53fca4
call fcn.00468990
mov ecx, dword [esp + 0x78]
mov dword [edi], ecx
mov dword [eax], ecx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
lea edi, [eax + 0x10]
lea esi, [esp + 0x58]
call fcn.00469122
lea ecx, [0x773eb4]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
add esp, 0x8c
ret
mov dword [esp], edx
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x98]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x10], ecx
call fcn.004c5a30
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x30]
test edx, edx
jl 0x53ff85
mov ebx, dword [esp + 0x9c]
cmp ebx, edx
jg 0x53fd35
xor edx, edx
xor ebx, ebx
jmp 0x53fd80
mov eax, dword [esp + 0x98]
lea eax, [eax + edx*8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
lea edx, [0x6c9fa0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a060
mov eax, dword [esp + 0xc]
test eax, eax
je 0x53fd74
mov ecx, dword [esp + 0x10]
mov edx, eax
mov ebx, ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
jmp 0x53fd80
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
xor edx, edx
xor ebx, ebx
movzx ebp, byte [esp + 0x1f]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x53fe5f
test edx, edx
je 0x53fe5f
mov dword [esp + 0x64], ebx
mov dword [esp + 0x20], edx
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
movzx ebp, byte [0x934fe4]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x53fddd
mov dword [esp], 1
call fcn.00540680
lea edi, [esp + 0x40]
lea esi, [esp + 4]
call fcn.00469122
lea eax, [0x6dd020]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x28]
mov dword [eax + 4], ecx
mov ecx, dword [0x98d4e0]
test ecx, ecx
jne 0x53fe06
mov ecx, dword [esp + 0x6c]
jmp 0x53fe11
call fcn.00468990
mov ecx, dword [esp + 0x6c]
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 8], ecx
mov ecx, dword [0x98d4e0]
test ecx, ecx
jne 0x53fe2a
mov ecx, dword [esp + 0x64]
jmp 0x53fe35
call fcn.00468990
mov ecx, dword [esp + 0x64]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea edi, [eax + 0x10]
lea esi, [esp + 0x40]
call fcn.00469122
lea ecx, [0x773ec8]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
add esp, 0x8c
ret
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
lea edx, [0x6bd160]
mov dword [esp + 0x7c], edx
lea ebx, [0x773568]
mov dword [esp + 0x80], ebx
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00409d30
mov eax, dword [esp + 8]
lea ecx, [0x6bd160]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
lea eax, [0x70b8c5]
mov dword [esp], eax
mov dword [esp + 4], 7
lea eax, [esp + 0x7c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c5a30
mov eax, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x78], ecx
mov dword [esp], 1
call fcn.00540680
lea edi, [esp + 0x58]
lea esi, [esp + 4]
call fcn.00469122
lea eax, [0x6dd0a0]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [0x98d4e0]
test ecx, ecx
jne 0x53ff43
mov ecx, dword [esp + 0x78]
jmp 0x53ff4e
call fcn.00468990
mov ecx, dword [esp + 0x78]
mov dword [edi], ecx
mov dword [eax], ecx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
lea edi, [eax + 0x10]
lea esi, [esp + 0x58]
call fcn.00469122
lea ecx, [0x773eb4]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
add esp, 0x8c
ret
mov dword [esp], 1
call fcn.00540680
lea edi, [esp + 0x58]
lea esi, [esp + 4]
call fcn.00469122
lea eax, [0x6dd0a0]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x28]
mov dword [eax + 4], ecx
mov ecx, dword [0x98d4e0]
test ecx, ecx
jne 0x53ffc7
mov ecx, dword [esp + 0x6c]
jmp 0x53ffd2
call fcn.00468990
mov ecx, dword [esp + 0x6c]
mov dword [edi], ecx
mov dword [eax], ecx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
lea edi, [eax + 0x10]
lea esi, [esp + 0x58]
call fcn.00469122
lea ecx, [0x773eb4]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
add esp, 0x8c
ret
mov edx, esi
call fcn.00468a40
mov ecx, eax
mov edx, esi
call fcn.00468a20
mov eax, edi
mov ecx, esi
call fcn.00468a60
mov eax, edi
mov ecx, esi
call fcn.00468a60
call fcn.00468a60
nop
call fcn.00467590
jmp fcn.0053f820