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

Disassembly:
mov ecx, dword [0x6c4e70]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x4c]
cmp eax, dword [ecx + 8]
jbe 0x52e752
sub esp, 0xcc
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x84]
mov dword [esp + 0x5c], ecx
mov edx, dword [eax + 0x88]
mov dword [esp + 0x58], edx
mov ebx, dword [eax + 0x8c]
mov dword [esp + 0x54], ebx
mov dword [esp], eax
call fcn.00526c70
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x64]
test ecx, ecx
jg 0x52d6bd
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00523ed0
movzx eax, byte [esp + 8]
test al, al
je 0x52d9c4
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x58]
mov edx, dword [eax + 0x60]
cmp ecx, edx
jbe 0x52e74a
mov ebx, dword [eax + 0x54]
movzx edx, byte [ebx + edx]
cmp dl, 0x2b
jne 0x52d6de
mov ecx, 1
jmp 0x52d6ec
cmp dl, 0x2d
jne 0x52d829
mov ecx, 0xffffffff
mov dword [esp + 0x3c], ecx
mov dword [esp], eax
call fcn.00526c70
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x64]
test ecx, ecx
jg 0x52d72a
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00523ed0
movzx eax, byte [esp + 8]
test al, al
je 0x52d81a
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x58]
mov edx, dword [eax + 0x60]
cmp ecx, edx
jbe 0x52e743
mov ebx, dword [eax + 0x54]
movzx edx, byte [ebx + edx]
cmp dl, 0x30
jb 0x52d80d
cmp dl, 0x39
ja 0x52d809
cmp dl, 0x30
je 0x52d77b
movzx ecx, dl
mov dword [esp + 0x50], ecx
nop
mov dword [esp], eax
call fcn.00526c70
mov eax, dword [esp + 0x50]
add eax, 0xffffffd0
mov ecx, eax
mov eax, dword [esp + 0xd0]
jmp 0x52d80f
nop
mov dword [eax], 3
mov dword [eax + 0x24], 0x1d
mov ecx, dword [0x6c4f80]
test ecx, ecx
je 0x52d79d
mov ecx, dword [eax + 0x20]
call fcn.00460ef0
mov dword [edi], ecx
lea ecx, [0x58dd1e]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 0x30], ecx
mov dword [eax + 8], 0x29
mov ecx, dword [0x6c4f80]
test ecx, ecx
je 0x52d7d6
mov ecx, dword [eax + 4]
call fcn.00460ef0
mov dword [edi], ecx
lea ecx, [0x5913ce]
mov dword [eax + 4], ecx
mov ecx, dword [eax + 0x88]
mov edx, dword [eax + 0x8c]
mov ebx, dword [eax + 0x84]
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], edx
mov byte [esp + 0xdc], 0
add esp, 0xcc
ret
xor ecx, ecx
jmp 0x52d80f
xor ecx, ecx
mov edx, ecx
mov ecx, dword [esp + 0x3c]
jmp 0x52d97c
mov byte [esp + 0xdc], 0
add esp, 0xcc
ret
cmp dl, 0x30
jb 0x52d978
cmp dl, 0x39
ja 0x52d972
cmp dl, 0x30
je 0x52d8e4
mov byte [esp + 0x23], dl
nop
mov dword [esp], eax
call fcn.00526c70
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x64]
test ecx, ecx
jg 0x52d87f
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00523ed0
movzx eax, byte [esp + 8]
test al, al
je 0x52d8d5
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x58]
mov edx, dword [eax + 0x60]
cmp ecx, edx
jbe 0x52e73c
mov ebx, dword [eax + 0x54]
movzx edx, byte [ebx + edx]
cmp dl, 0x2b
jne 0x52d8a0
mov ecx, 1
jmp 0x52d8aa
cmp dl, 0x2d
jne 0x52d8c3
mov ecx, 0xffffffff
mov dword [esp + 0x3c], ecx
mov dword [esp], eax
call fcn.00526c70
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x3c]
jmp 0x52d8c5
xor ecx, ecx
movzx edx, byte [esp + 0x23]
movzx edx, dl
add edx, 0xffffffd0
jmp 0x52d97c
mov byte [esp + 0xdc], 0
add esp, 0xcc
ret
nop
mov dword [eax], 3
mov dword [eax + 0x24], 0x1d
mov ecx, dword [0x6c4f80]
test ecx, ecx
je 0x52d906
mov ecx, dword [eax + 0x20]
call fcn.00460ef0
mov dword [edi], ecx
lea ecx, [0x58dd1e]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 0x30], ecx
mov dword [eax + 8], 0x29
mov ecx, dword [0x6c4f80]
test ecx, ecx
je 0x52d93f
mov ecx, dword [eax + 4]
call fcn.00460ef0
mov dword [edi], ecx
lea ecx, [0x5913ce]
mov dword [eax + 4], ecx
mov ecx, dword [eax + 0x88]
mov edx, dword [eax + 0x8c]
mov ebx, dword [eax + 0x84]
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], edx
mov byte [esp + 0xdc], 0
add esp, 0xcc
ret
xor edx, edx
xor ecx, ecx
jmp 0x52d97c
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], edx
mov ebx, dword [eax + 0x64]
test ebx, ebx
jg 0x52d9db
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00523ed0
movzx eax, byte [esp + 8]
test al, al
je 0x52d9b5
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
jmp 0x52d9db
mov byte [esp + 0xdc], 0
add esp, 0xcc
ret
mov byte [esp + 0xdc], 0
add esp, 0xcc
ret
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov ebx, dword [eax + 0x58]
mov ebp, dword [eax + 0x60]
cmp ebx, ebp
jbe 0x52e733
mov ebx, dword [eax + 0x54]
movzx ebx, byte [ebx + ebp]
cmp bl, 0x20
je 0x52d9fa
cmp bl, 9
jne 0x52da41
mov dword [esp], eax
call fcn.00526c70
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x64]
test ecx, ecx
jg 0x52d9d3
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00523ed0
movzx eax, byte [esp + 8]
test al, al
je 0x52da32
mov eax, dword [esp + 0xd0]
jmp 0x52d9d3
mov byte [esp + 0xdc], 0
add esp, 0xcc
ret
cmp bl, 0x23
jne 0x52dbaa
mov dword [esp], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x58]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0xc], ebx
call fcn.00531b30
movzx eax, byte [esp + 0x10]
test al, al
je 0x52da7c
mov edx, dword [esp + 0xd0]
jmp 0x52da8d
mov byte [esp + 0xdc], 0
add esp, 0xcc
ret
mov edx, eax
mov ecx, dword [edx + 0x58]
mov eax, dword [edx + 0x60]
cmp ecx, eax
jbe 0x52e72e
mov ebx, dword [edx + 0x54]
movzx ebp, byte [ebx + eax]
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x52dba0
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x52dba0
xchg ebp, eax
cmp al, 0xc2
xchg ebp, eax
jne 0x52dad7
lea esi, [eax + 1]
cmp ecx, esi
jbe 0x52e727
lea esi, [ebx + eax + 1]
cmp byte [esi], 0x85
je 0x52dba0
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
jne 0x52db43
lea esi, [eax + 1]
cmp ecx, esi
jbe 0x52e720
lea edi, [ebx + eax + 1]
movzx edi, byte [edi]
xchg edi, eax
cmp al, 0x80
xchg edi, eax
jne 0x52db19
lea edx, [eax + 2]
cmp ecx, edx
jbe 0x52e719
lea edx, [ebx + eax + 2]
cmp byte [edx], 0xa8
je 0x52db88
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
mov edx, dword [esp + 0xd0]
jmp 0x52db1e
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
jne 0x52db43
cmp ecx, esi
jbe 0x52e712
xchg edi, eax
cmp al, 0x80
xchg edi, eax
jne 0x52db43
lea esi, [eax + 2]
cmp ecx, esi
jbe 0x52e70b
lea ebx, [ebx + eax + 2]
cmp byte [ebx], 0xa9
je 0x52dba0
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x52dba0
mov dword [esp], edx
call fcn.00526c70
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x64]
test ecx, ecx
jg 0x52da8b
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00523ed0
movzx eax, byte [esp + 8]
test al, al
je 0x52db91
mov eax, dword [esp + 0xd0]
jmp 0x52da8b
mov edx, dword [esp + 0xd0]
jmp 0x52dba0
mov byte [esp + 0xdc], 0
add esp, 0xcc
ret
mov eax, edx
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov ebx, dword [eax + 0x58]
mov ebp, dword [eax + 0x60]
cmp ebx, ebp
jbe 0x52e702
mov esi, dword [eax + 0x54]
movzx edi, byte [esi + ebp]
xchg edi, eax
cmp al, 0xd
xchg edi, eax
je 0x52dcc4
xchg edi, eax
cmp al, 0xa
xchg edi, eax
jne 0x52dbdb
xchg edi, eax
cmp al, 0xd
xchg edi, eax
jmp 0x52dcc4
xchg edi, eax
cmp al, 0xc2
xchg edi, eax
jne 0x52dc08
lea ecx, [ebp + 1]
cmp ebx, ecx
jbe 0x52e6f9
lea ecx, [esi + ebp + 1]
cmp byte [ecx], 0x85
jne 0x52dc04
xchg edi, eax
cmp al, 0xd
xchg edi, eax
mov ecx, dword [esp + 0x3c]
jmp 0x52dcc4
mov ecx, dword [esp + 0x3c]
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x52dcb5
lea ecx, [ebp + 1]
cmp ebx, ecx
jbe 0x52e6f0
lea edx, [esi + ebp + 1]
movzx edx, byte [edx]
cmp dl, 0x80
jne 0x52dc62
lea eax, [ebp + 2]
cmp ebx, eax
jbe 0x52e6e9
lea eax, [esi + ebp + 2]
cmp byte [eax], 0xa8
jne 0x52dc54
xchg edi, eax
cmp al, 0xd
xchg edi, eax
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
jmp 0x52dcc4
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
mov eax, dword [esp + 0xd0]
jmp 0x52dc67
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x52dcad
cmp ebx, ecx
jbe 0x52e6e0
cmp dl, 0x80
jne 0x52dca3
lea edx, [ebp + 2]
cmp ebx, edx
jbe 0x52e6d7
lea edx, [esi + ebp + 2]
cmp byte [edx], 0xa9
jne 0x52dc99
xchg edi, eax
cmp al, 0xd
xchg edi, eax
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
jmp 0x52dcc4
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
jmp 0x52dcb5
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
jmp 0x52dcb5
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x52defa
xchg edi, eax
cmp al, 0xd
xchg edi, eax
je 0x52dd81
xchg edi, eax
cmp al, 0xa
xchg edi, eax
je 0x52dd81
xchg edi, eax
cmp al, 0xc2
xchg edi, eax
jne 0x52dcfd
lea ecx, [ebp + 1]
cmp ebx, ecx
jbe 0x52e6ce
lea ecx, [esi + ebp + 1]
cmp byte [ecx], 0x85
jne 0x52dcf9
mov ecx, dword [esp + 0x3c]
jmp 0x52dd81
mov ecx, dword [esp + 0x3c]
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x52ddeb
lea ecx, [ebp + 1]
cmp ebx, ecx
jbe 0x52e6c5
lea edx, [esi + ebp + 1]
movzx edx, byte [edx]
cmp dl, 0x80
jne 0x52dd4d
mov byte [esp + 0x22], dl
lea edx, [ebp + 2]
cmp ebx, edx
jbe 0x52e6bc
lea edx, [esi + ebp + 2]
cmp byte [edx], 0xa8
jne 0x52dd41
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
jmp 0x52dd81
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
movzx edx, byte [esp + 0x22]
jmp 0x52dd52
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x52dde3
cmp ebx, ecx
jbe 0x52e6b3
cmp dl, 0x80
jne 0x52ddd9
lea edx, [ebp + 2]
cmp ebx, edx
jbe 0x52e6aa
lea ecx, [esi + ebp + 2]
cmp byte [ecx], 0xa9
jne 0x52ddcf
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
cmp dword [eax + 0x64], 2
jge 0x52dda7
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.00523ed0
movzx eax, byte [esp + 8]
test al, al
je 0x52ddc0
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
call fcn.00526d30
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
jmp 0x52ddeb
mov byte [esp + 0xdc], 0
add esp, 0xcc
ret
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
jmp 0x52ddeb
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
jmp 0x52ddeb
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov ebx, dword [eax + 0x88]
mov ebp, dword [eax + 0x8c]
mov esi, dword [eax + 0x84]
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebp
mov dword [esp + 0x34], 0
test edx, edx
jle 0x52de2b
mov ebx, dword [eax + 0xfc]
test ebx, ebx
jl 0x52de27
add edx, ebx
mov dword [esp + 0x34], edx
jmp 0x52de2b
mov dword [esp + 0x34], edx
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp], eax
lea ecx, [esp + 0x34]
mov dword [esp + 4], ecx
lea edx, [esp + 0x78]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0xc], edx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x10], ebx
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x14], ebp
lea esi, [esp + 0x60]
mov dword [esp + 0x18], esi
call fcn.0052e760
movzx eax, byte [esp + 0x1c]
test al, al
je 0x52deeb
mov edx, dword [esp + 0xd0]
mov ebx, dword [edx + 0x64]
test ebx, ebx
jg 0x52deb5
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.00523ed0
movzx eax, byte [esp + 8]
test al, al
je 0x52dedc
mov edx, dword [esp + 0xd0]
movzx ebx, byte [esp + 0xd8]
xor eax, eax
xor ecx, ecx
xor ebp, ebp
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [esp + 0x6c], eax
xor ebp, ebp
mov dword [esp + 0x24], ebp
xor eax, eax
xor ebp, ebp
jmp 0x52dfb8
mov byte [esp + 0xdc], 0
add esp, 0xcc
ret
mov byte [esp + 0xdc], 0
add esp, 0xcc
ret
nop
mov dword [eax], 3
mov dword [eax + 0x24], 0x1d
mov ecx, dword [0x6c4f80]
test ecx, ecx
je 0x52df1c
mov ecx, dword [eax + 0x20]
call fcn.00460ef0
mov dword [edi], ecx
lea ecx, [0x58dd1e]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 0x30], ecx
mov dword [eax + 8], 0x2b
mov ecx, dword [0x6c4f80]
test ecx, ecx
je 0x52df55
mov ecx, dword [eax + 4]
call fcn.00460ef0
mov dword [edi], ecx
lea ecx, [0x591ac7]
mov dword [eax + 4], ecx
mov ecx, dword [eax + 0x88]
mov edx, dword [eax + 0x8c]
mov ebx, dword [eax + 0x84]
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], edx
mov byte [esp + 0xdc], 0
add esp, 0xcc
ret
movzx ebx, byte [esp + 0xd8]
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0x24]
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x70]
movzx eax, byte [esp + 0x21]
mov ecx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], esi
mov dword [esp + 0x70], ebp
mov esi, dword [edx + 0x8c]
cmp dword [esp + 0x34], esi
jne 0x52e2cf
mov esi, dword [edx + 0x58]
mov ebp, dword [edx + 0x60]
cmp esi, ebp
jbe 0x52e6a1
mov esi, dword [edx + 0x54]
movzx ebp, byte [esi + ebp]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x52e2cb
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
jne 0x52e001
mov ebp, 1
jmp 0x52e00d
xchg ebp, eax
cmp al, 9
xchg ebp, eax
xchg ebp, ebx
sete bl
xchg ebp, ebx
test bl, bl
je 0x52e01a
mov eax, dword [esp + 0x70]
jmp 0x52e0bc
test al, al
je 0x52e027
mov eax, dword [esp + 0x70]
jmp 0x52e0bc
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x52e036
mov eax, dword [esp + 0x70]
jmp 0x52e0bc
test ecx, ecx
je 0x52e0b8
mov eax, dword [esp + 0x70]
cmp byte [eax], 0xa
jne 0x52e0bc
mov ecx, dword [esp + 0x7c]
test ecx, ecx
jne 0x52e0ab
mov ecx, dword [esp + 0x24]
inc ecx
cmp edi, ecx
jb 0x52e05a
mov ebp, dword [esp + 0x6c]
jmp 0x52e0a1
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0xd0]
movzx ebx, byte [esp + 0xd8]
mov ebp, eax
mov eax, dword [esp + 0x70]
mov byte [ecx + ebp - 1], 0x20
jmp 0x52e144
mov ecx, dword [esp + 0x24]
mov ebp, dword [esp + 0x6c]
jmp 0x52e144
mov eax, dword [esp + 0x70]
mov ebp, dword [esp + 0x24]
lea esi, [ebp + ecx]
cmp edi, esi
jae 0x52e106
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
lea eax, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], esi
mov edx, dword [esp + 0x6c]
lea ebx, [edx + ebp]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004617e0
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0xd0]
movzx ebx, byte [esp + 0xd8]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x7c]
add ecx, esi
cmp edi, ecx
jb 0x52e152
mov esi, ecx
jmp 0x52e184
mov dword [esp + 0x4c], ecx
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
lea eax, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0x7c]
sub esi, eax
mov edx, dword [esp + 0x78]
lea ebx, [ebp + esi]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004617e0
mov dword [esp + 0x7c], 0
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x58]
mov edx, dword [eax + 0x60]
cmp edx, ecx
jae 0x52e69a
mov ebx, dword [eax + 0x54]
movzx edx, byte [ebx + edx]
cmp dl, 0x20
jne 0x52e1de
mov edx, 1
jmp 0x52e1e4
cmp dl, 9
sete dl
mov byte [esp + 0x21], dl
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
jmp 0x52e4cd
mov ecx, dword [esp + 0x24]
jmp 0x52e218
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x24]
mov ebp, dword [esp + 0x6c]
jmp 0x52e218
mov ecx, dword [esp + 0x24]
mov ebp, dword [esp + 0x6c]
cmp dword [eax + 0x64], 2
jge 0x52e242
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.00523ed0
movzx eax, byte [esp + 8]
test al, al
je 0x52e657
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], ecx
call fcn.00527170
mov eax, dword [esp + 0x10]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x30], edx
mov ebx, dword [esp + 0xd0]
mov dword [esp], ebx
lea ebp, [esp + 0x34]
mov dword [esp + 4], ebp
lea esi, [esp + 0x78]
mov dword [esp + 8], esi
mov esi, dword [esp + 0x5c]
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0x58]
mov dword [esp + 0x10], edi
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x14], ebp
lea ebp, [esp + 0x60]
mov dword [esp + 0x18], ebp
call fcn.0052e760
movzx eax, byte [esp + 0x1c]
test al, al
jne 0x52df88
jmp 0x52e648
mov ebp, dword [esp + 0x70]
mov eax, dword [esp + 0x3c]
cmp eax, 0xffffffff
je 0x52e35d
mov edx, dword [esp + 0x24]
lea esi, [edx + ecx]
cmp edi, esi
jae 0x52e325
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
lea eax, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], esi
mov eax, dword [esp + 0x6c]
add edx, eax
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
call fcn.004617e0
mov eax, dword [esp + 0x3c]
movzx ebx, byte [esp + 0xd8]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x24]
jmp 0x52e365
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x24]
cmp eax, 1
jne 0x52e3e6
mov eax, dword [esp + 0x7c]
add edx, eax
cmp edi, edx
jb 0x52e378
mov eax, edx
jmp 0x52e3aa
mov dword [esp + 0x48], edx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
lea eax, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], edx
mov dword [esp + 0x6c], ecx
mov ebx, dword [esp + 0x7c]
sub eax, ebx
add eax, ecx
mov ebp, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.004617e0
movzx ebx, byte [esp + 0xd8]
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x6c], ecx
lea esi, [0x5c0af8]
mov eax, edi
lea edi, [esp + 0x84]
call fcn.0046154c
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x60]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], esi
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], eax
mov edi, dword [esp + 0xd4]
test byte [edi], al
mov eax, dword [0x6c4f80]
test eax, eax
je 0x52e498
lea eax, [0x578460]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x84]
mov dword [esp + 8], eax
call fcn.00410740
movzx ebx, byte [esp + 0xd8]
mov edi, dword [esp + 0xd4]
lea esi, [esp + 0x84]
call fcn.0046154c
test bl, bl
jne 0x52e4b3
mov eax, dword [esp + 0xd4]
mov byte [eax + 0x44], 0x20
mov byte [esp + 0xdc], 1
add esp, 0xcc
ret
mov ecx, ebx
mov edi, ebp
mov ebp, edx
movzx edx, byte [esp + 0x21]
mov ebx, dword [eax + 0x58]
mov esi, dword [eax + 0x60]
cmp esi, ebx
jae 0x52e691
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x6c], ebp
mov edx, dword [eax + 0x54]
movzx edi, byte [edx + esi]
xchg edi, eax
cmp al, 0xd
xchg edi, eax
je 0x52e218
xchg edi, eax
cmp al, 0xa
xchg edi, eax
je 0x52e218
xchg edi, eax
cmp al, 0xc2
xchg edi, eax
jne 0x52e527
lea ecx, [esi + 1]
cmp ebx, ecx
jbe 0x52e688
lea ecx, [esi + edx + 1]
cmp byte [ecx], 0x85
je 0x52e1f9
mov ecx, dword [esp + 0x24]
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x52e5bc
lea ecx, [esi + 1]
cmp ebx, ecx
jbe 0x52e67f
lea ebp, [esi + edx + 1]
movzx ebp, byte [ebp]
xchg ebp, eax
cmp al, 0x80
xchg ebp, eax
jne 0x52e572
lea eax, [esi + 2]
cmp ebx, eax
jbe 0x52e678
lea eax, [esi + edx + 2]
cmp byte [eax], 0xa8
je 0x52e1ff
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
mov eax, dword [esp + 0xd0]
jmp 0x52e577
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x52e5b4
cmp ebx, ecx
jbe 0x52e66f
xchg ebp, eax
cmp al, 0x80
xchg ebp, eax
jne 0x52e5aa
lea ebp, [esi + 2]
cmp ebx, ebp
jbe 0x52e666
lea ecx, [esi + edx + 2]
cmp byte [ecx], 0xa9
je 0x52e210
mov ecx, dword [esp + 0x24]
mov ebp, dword [esp + 0x6c]
jmp 0x52e5bc
mov ecx, dword [esp + 0x24]
mov ebp, dword [esp + 0x6c]
jmp 0x52e5bc
mov ecx, dword [esp + 0x24]
mov ebp, dword [esp + 0x6c]
xchg edi, eax
test al, al
xchg edi, eax
je 0x52e218
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xc], ecx
call fcn.00526f10
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x64]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
test ecx, ecx
jg 0x52e4c2
mov dword [esp + 0x44], ebp
mov dword [esp + 0x40], ebx
mov dword [esp + 0x74], edx
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00523ed0
movzx eax, byte [esp + 8]
test al, al
je 0x52e639
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
jmp 0x52e4c2
mov byte [esp + 0xdc], 0
add esp, 0xcc
ret
mov byte [esp + 0xdc], 0
add esp, 0xcc
ret
mov byte [esp + 0xdc], 0
add esp, 0xcc
ret
mov eax, ebp
mov ecx, ebx
call fcn.00460f60
mov eax, ecx
mov ecx, ebx
call fcn.00460f60
mov ecx, ebx
call fcn.00460f60
mov eax, ecx
mov ecx, ebx
call fcn.00460f60
mov eax, ecx
mov ecx, ebx
call fcn.00460f60
mov eax, esi
mov ecx, ebx
call fcn.00460f60
mov eax, edx
call fcn.00460f60
mov eax, ebp
mov ecx, esi
call fcn.00460f60
mov eax, edx
mov ecx, ebx
call fcn.00460f60
mov eax, ecx
mov ecx, ebx
call fcn.00460f60
mov eax, edx
mov ecx, ebx
call fcn.00460f60
mov eax, ecx
mov ecx, ebx
call fcn.00460f60
mov eax, ecx
mov ecx, ebx
call fcn.00460f60
mov eax, edx
mov ecx, ebx
call fcn.00460f60
mov eax, ecx
mov ecx, ebx
call fcn.00460f60
mov ecx, ebx
call fcn.00460f60
mov eax, ecx
mov ecx, ebx
call fcn.00460f60
mov eax, ecx
mov ecx, ebx
call fcn.00460f60
mov eax, ebp
mov ecx, ebx
call fcn.00460f60
mov eax, esi
call fcn.00460f60
mov eax, esi
call fcn.00460f60
mov eax, edx
call fcn.00460f60
mov eax, esi
call fcn.00460f60
mov eax, esi
call fcn.00460f60
call fcn.00460f60
mov eax, ebp
mov ecx, ebx
call fcn.00460f60
mov eax, edx
call fcn.00460f60
mov eax, edx
call fcn.00460f60
mov eax, edx
call fcn.00460f60
nop
call fcn.0045faf0
jmp fcn.0052d640