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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x78]
cmp eax, dword [ecx + 8]
jbe 0x5b3167
sub esp, 0xf8
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
lea edx, [0x66254f]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call fcn.004c0b80
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
movzx edx, byte [esp + 0x20]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
test dl, dl
je 0x5b1dfb
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x78], ecx
mov dword [esp + 0x9c], eax
mov dword [esp + 0x48], ebx
test ebx, ebx
jne 0x5b1af0
xor edx, edx
jmp 0x5b1b24
mov dword [esp], eax
mov dword [esp + 4], ebx
lea ecx, [0x67c9d8]
mov dword [esp + 8], ecx
call fcn.004bfac0
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x2c]
mov edx, eax
mov eax, dword [esp + 0x9c]
test dl, dl
je 0x5b1dde
test ebp, ebp
jne 0x5b1b34
xor edx, edx
jmp 0x5b1b68
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x67c9d8]
mov dword [esp + 8], eax
call fcn.004bfac0
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x2c]
mov edx, eax
mov eax, dword [esp + 0x9c]
test dl, dl
je 0x5b1dde
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.004bf670
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5b1ba0
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5b1bb5
jmp 0x5b314e
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
lea ebx, [esp + 0xb8]
mov edx, dword [esp + 0xc0]
lea ebp, [edx + eax]
mov dword [esp + 0x70], ebp
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0xbc]
cmp esi, ebp
jae 0x5b1c19
mov dword [esp + 0x3c], eax
mov dword [esp + 0x94], ecx
mov dword [esp + 0x6c], edx
lea eax, [0x634640]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.004484a0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x6c], esi
mov dword [esp + 0xb4], edi
add edx, edi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045fd30
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
nop
nop
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x5b1c77
lea ecx, [esp + 0xb8]
cmp eax, ecx
je 0x5b1c8c
jmp 0x5b3136
lea eax, [esp + 0xb8]
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0xb8]
mov eax, dword [esp + 0xc0]
lea edx, [eax + 1]
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc4]
cmp ebp, edx
jae 0x5b1ce0
lea ecx, [0x634640]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004484a0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xbc], ebx
lea ecx, [eax + 1]
mov dword [esp + 0xc0], ecx
mov byte [ebx + eax], 0x2f
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
call fcn.004bf670
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5b1d26
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5b1d34
jmp 0x5b311e
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0xc0]
lea ebx, [edx + eax]
mov dword [esp + 0x70], ebx
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0xbc]
cmp ebp, ebx
jae 0x5b1d98
mov dword [esp + 0x38], eax
mov dword [esp + 0x90], ecx
mov dword [esp + 0x6c], edx
lea eax, [0x634640]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004484a0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0xb4], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045fd30
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
jmp 0x5b1f24
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
add esp, 0xf8
ret
mov eax, dword [esp + 0x100]
test eax, eax
je 0x5b1f9f
mov ecx, dword [esp + 0xfc]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x67c9d8]
mov dword [esp + 8], edx
call fcn.004bfac0
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x5b1f9f
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
call fcn.004bf670
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5b1e71
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5b1e7f
jmp 0x5b3106
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0xc0]
lea ebx, [edx + eax]
mov dword [esp + 0x70], ebx
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0xbc]
cmp ebp, ebx
jae 0x5b1ee3
mov dword [esp + 0x40], eax
mov dword [esp + 0x98], ecx
mov dword [esp + 0x6c], edx
lea eax, [0x634640]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004484a0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0xb4], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045fd30
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x104]
test eax, eax
je 0x5b1f33
mov ecx, dword [eax]
jmp 0x5b1f35
xor ecx, ecx
mov dword [esp + 0x54], ecx
lea eax, [0x634440]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call fcn.004483e0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb0], eax
lea edi, [esp + 0xc8]
xor eax, eax
call fcn.0045f634
lea eax, [0x635e80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [esp + 0xc8]
mov dword [esp + 8], edx
call fcn.0040d0d0
xor eax, eax
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0xb0]
jmp 0x5b1fda
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
add esp, 0xf8
ret
lea eax, [esp + 0xc8]
mov dword [esp], eax
call fcn.0040d330
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x50], eax
mov ebx, dword [esp + 0xc8]
test ebx, ebx
je 0x5b2077
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
lea esi, [eax + 1]
cmp ecx, esi
jae 0x5b2040
mov dword [esp + 0xa8], ebp
mov dword [esp + 0x5c], ebx
lea ebx, [0x634440]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
call fcn.004484a0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea esi, [eax + 1]
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0xa8]
mov dword [esp + 0xa0], edx
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], ecx
lea ecx, [edx + eax*8 + 4]
mov dword [ecx], ebx
mov ecx, dword [0x84e4b0]
lea ebx, [edx + eax*8]
test ecx, ecx
jne 0x5b2069
mov dword [ebx], ebp
jmp 0x5b1fbc
mov eax, ebp
mov edi, ebx
call fcn.0045f3a0
jmp 0x5b1fbc
mov dword [esp + 0xac], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408eb0
mov eax, dword [esp + 0xc]
lea ecx, [0x6d0480]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004898c0
xor eax, eax
jmp 0x5b20af
mov ecx, dword [esp + 0x70]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x50]
cmp eax, ecx
jge 0x5b2753
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0xac]
lea edx, [ecx + eax*8]
mov ebx, dword [edx + 4]
mov dword [esp + 0x58], ebx
mov edx, dword [edx]
mov dword [esp + 0xa4], edx
lea ebp, [0x635e80]
mov dword [esp], ebp
mov esi, dword [esp + 0x104]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.0040f950
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
nop
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5b211f
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5b2134
jmp 0x5b30ee
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
lea ebx, [esp + 0xb8]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x74], eax
mov edx, dword [esp + 0xc0]
lea ebp, [edx + 1]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc4]
cmp edi, ebp
jae 0x5b219f
lea eax, [0x634640]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.004484a0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], esi
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x28]
lea ebx, [esp + 0xb8]
lea ebp, [edx + 1]
mov dword [esp + 0xc0], ebp
mov byte [esi + edx], 0x3b
nop
nop
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5b21c3
cmp edx, ebx
je 0x5b21ca
jmp 0x5b30d6
mov dword [esp + 0xb8], ebx
mov edx, dword [esp + 0xc0]
lea ebp, [edx + 1]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc4]
cmp edi, ebp
jae 0x5b222d
lea eax, [0x634640]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.004484a0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], esi
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x28]
lea ebx, [esp + 0xb8]
lea ebp, [edx + 1]
mov dword [esp + 0xc0], ebp
mov byte [esi + edx], 0x20
mov edx, dword [esp + 0x58]
test edx, edx
je 0x5b2736
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
mov dword [esp + 4], edx
lea ecx, [0x67c9d8]
mov dword [esp + 8], ecx
call fcn.004bfac0
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x5b2736
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
call fcn.004bf670
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5b22ab
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5b22c0
jmp 0x5b30be
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
lea ebx, [esp + 0xb8]
mov edx, dword [esp + 0xc0]
lea ebp, [eax + edx]
mov dword [esp + 0x6c], ebp
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0xbc]
cmp esi, ebp
jae 0x5b2324
mov dword [esp + 0x68], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x8c], ecx
lea eax, [0x634640]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.004484a0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x68], esi
mov dword [esp + 0xb4], edi
add edx, edi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045fd30
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
nop
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
xor edx, edx
jmp 0x5b2778
cmp edx, eax
jge 0x5b2424
nop
nop
mov ebx, dword [esp + 0xb8]
test ebx, ebx
je 0x5b239a
lea ebp, [esp + 0xb8]
cmp ebx, ebp
je 0x5b23af
jmp 0x5b30a6
lea ebx, [esp + 0xb8]
mov dword [esp + 0xb8], ebx
lea ebp, [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
lea esi, [ebx + 1]
mov edi, dword [esp + 0xbc]
mov edx, dword [esp + 0xc4]
cmp edx, esi
jae 0x5b2412
lea eax, [0x634640]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.004484a0
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], edi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
lea ebp, [esp + 0xb8]
lea edx, [ebx + 1]
mov dword [esp + 0xc0], edx
mov byte [edi + ebx], 0x2a
mov edx, dword [esp + 0x6c]
nop
nop
mov ebx, dword [esp + 0xb8]
test ebx, ebx
je 0x5b2441
lea ebp, [esp + 0xb8]
cmp ebx, ebp
je 0x5b2456
jmp 0x5b308e
lea ebx, [esp + 0xb8]
mov dword [esp + 0xb8], ebx
lea ebp, [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
lea esi, [ebx + 1]
mov edi, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc4]
cmp ebp, esi
jae 0x5b24b6
lea eax, [0x634640]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.004484a0
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], edi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x6c]
lea ebp, [ebx + 1]
mov dword [esp + 0xc0], ebp
mov byte [edi + ebx], 0x3d
cmp edx, eax
jge 0x5b258b
nop
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5b24e8
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5b24fd
jmp 0x5b3076
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
lea ebx, [esp + 0xb8]
mov edx, dword [esp + 0xc0]
lea ebp, [edx + 7]
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0xbc]
cmp esi, ebp
jae 0x5b255e
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x68], edx
lea eax, [0x634640]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.004484a0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x68]
lea ebx, [esp + 0xb8]
mov ebp, dword [esp + 0x6c]
mov dword [edi + edx], 0x2d667475
mov dword [edi + edx + 3], 0x2727382d
mov dword [esp + 0xc0], ebp
mov dword [esp + 0xc4], esi
mov dword [esp + 0xbc], edi
xor edx, edx
xor ebp, ebp
jmp 0x5b2b84
test eax, eax
jne 0x5b2593
xor edx, edx
jmp 0x5b25bc
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x67c9d8]
mov dword [esp + 8], edx
call fcn.004bfac0
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x74]
mov edx, eax
mov eax, dword [esp + 0x28]
test dl, dl
jne 0x5b266f
nop
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5b25e0
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5b25f5
jmp 0x5b2b6b
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
lea ebx, [esp + 0xb8]
mov edx, dword [esp + 0xc0]
lea ebp, [edx + 1]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc4]
cmp edi, ebp
jae 0x5b2658
lea eax, [0x634640]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.004484a0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], esi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
lea ebx, [esp + 0xb8]
lea ebp, [edx + 1]
mov dword [esp + 0xc0], ebp
mov byte [esi + edx], 0x22
xor edx, edx
xor ebp, ebp
jmp 0x5b27e4
nop
nop
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5b268c
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5b269a
jmp 0x5b27cb
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0xc0]
lea ebx, [eax + edx]
mov dword [esp + 0x6c], ebx
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0xbc]
cmp ebp, ebx
jae 0x5b26f0
mov dword [esp + 0x68], edx
lea eax, [0x634640]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004484a0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x68], ebp
mov dword [esp + 0xb4], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045fd30
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
jmp 0x5b20a8
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
add esp, 0xf8
ret
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], ecx
add esp, 0xf8
ret
mov edx, ebp
mov dword [esp + 0x6c], edx
cmp edx, eax
jge 0x5b2377
movzx ebx, byte [ecx + edx]
cmp ebx, 0x80
jge 0x5b2795
lea ebp, [edx + 1]
jmp 0x5b27b9
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004596d0
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x6c]
lea esi, [ebx - 0x20]
cmp esi, 0x5e
jbe 0x5b2776
cmp ebx, 9
je 0x5b2776
jmp 0x5b2375
lea eax, [0x634440]
mov dword [esp], eax
lea eax, [0x6cf020]
mov dword [esp + 4], eax
call fcn.00434270
inc edx
cmp edx, eax
jge 0x5b2990
jae 0x5b2b62
movzx esi, byte [edx + ecx]
xchg esi, eax
cmp al, 0x22
xchg esi, eax
je 0x5b2804
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x5b27e3
cmp ebp, edx
ja 0x5b2b59
mov esi, edx
sub edx, ebp
mov edi, edx
neg edx
sar edx, 0x1f
and ebp, edx
lea edx, [ebp + ecx]
nop
mov ebp, dword [esp + 0xb8]
test ebp, ebp
je 0x5b2832
cmp ebp, ebx
je 0x5b2839
jmp 0x5b2b41
mov dword [esp + 0xb8], ebx
mov dword [esp + 0x6c], esi
mov ebp, dword [esp + 0xc0]
lea ecx, [edi + ebp]
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0xc4]
mov esi, dword [esp + 0xbc]
cmp eax, ecx
jae 0x5b28a1
mov dword [esp + 0x64], ebp
mov dword [esp + 0x60], edi
mov dword [esp + 0x80], edx
lea edx, [0x634640]
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004484a0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x80]
mov ebp, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x64], eax
mov dword [esp + 0xb4], esi
lea ecx, [esi + ebp]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], edi
call fcn.0045fd30
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
nop
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x5b28ff
lea edx, [esp + 0xb8]
cmp eax, edx
je 0x5b290d
jmp 0x5b2b29
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
mov ebx, dword [esp + 0xc0]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc4]
cmp edi, ebp
jae 0x5b2968
lea eax, [0x634640]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.004484a0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], esi
lea edx, [esp + 0xb8]
lea ebp, [ebx + 1]
mov dword [esp + 0xc0], ebp
mov byte [esi + ebx], 0x5c
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x6c]
lea ebx, [esp + 0xb8]
mov ebp, edx
jmp 0x5b27e3
cmp ebp, eax
ja 0x5b2b20
sub eax, ebp
mov edx, eax
neg eax
sar eax, 0x1f
and ebp, eax
lea eax, [ebp + ecx]
nop
mov ecx, dword [esp + 0xb8]
test ecx, ecx
je 0x5b29bc
cmp ecx, ebx
je 0x5b29c3
jmp 0x5b2b08
mov dword [esp + 0xb8], ebx
mov ecx, dword [esp + 0xc0]
lea ebp, [edx + ecx]
mov dword [esp + 0x6c], ebp
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0xbc]
cmp esi, ebp
jae 0x5b2a21
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x7c], eax
lea eax, [0x634640]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.004484a0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x68], esi
mov dword [esp + 0xb4], edi
add ecx, edi
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0045fd30
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
nop
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x5b2a7b
lea ecx, [esp + 0xb8]
cmp eax, ecx
je 0x5b2a89
jmp 0x5b2af0
lea eax, [esp + 0xb8]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xc0]
lea ecx, [eax + 1]
mov edx, dword [esp + 0xbc]
mov ebx, dword [esp + 0xc4]
cmp ebx, ecx
jae 0x5b2add
lea ebp, [0x634640]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.004484a0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xbc], edx
lea ecx, [eax + 1]
mov dword [esp + 0xc0], ecx
mov byte [edx + eax], 0x22
jmp 0x5b20a8
lea eax, [0x634440]
mov dword [esp], eax
lea eax, [0x6cf020]
mov dword [esp + 4], eax
call fcn.00434270
lea eax, [0x634440]
mov dword [esp], eax
lea eax, [0x6cf020]
mov dword [esp + 4], eax
call fcn.00434270
mov ecx, eax
mov eax, ebp
call fcn.0045f480
lea eax, [0x634440]
mov dword [esp], eax
lea eax, [0x6cf020]
mov dword [esp + 4], eax
call fcn.00434270
lea eax, [0x634440]
mov dword [esp], eax
lea eax, [0x6cf020]
mov dword [esp + 4], eax
call fcn.00434270
mov eax, ebp
mov ecx, edx
call fcn.0045f480
mov ecx, eax
mov eax, edx
call fcn.0045f420
lea eax, [0x634440]
mov dword [esp], eax
lea eax, [0x6cf020]
mov dword [esp + 4], eax
call fcn.00434270
inc edx
cmp edx, eax
jge 0x5b2f07
jae 0x5b306d
mov dword [esp + 0x4c], edx
movzx esi, byte [ecx + edx]
xchg esi, eax
mov byte [esp + 0x25], al
xchg esi, eax
lea edi, [esi - 0x21]
xchg edi, eax
cmp al, 0x5e
xchg edi, eax
jb 0x5b2bb1
mov edi, 1
jmp 0x5b2c25
xchg esi, eax
cmp al, 0x2a
xchg esi, eax
jne 0x5b2bbf
mov edi, 1
jmp 0x5b2c25
xchg esi, eax
cmp al, 0x27
xchg esi, eax
jne 0x5b2bcd
mov edi, 1
jmp 0x5b2c25
xchg esi, eax
cmp al, 0x25
xchg esi, eax
jne 0x5b2bdb
mov edi, 1
jmp 0x5b2c25
mov dword [esp + 0x44], ebp
lea eax, [0x6657a0]
mov dword [esp], eax
mov dword [esp + 4], 0xf
xchg esi, eax
movzx ecx, al
xchg esi, eax
mov dword [esp + 8], ecx
call fcn.004be840
mov eax, dword [esp + 0xc]
test eax, eax
setge al
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x4c]
lea ebx, [esp + 0xb8]
mov ebp, dword [esp + 0x44]
movzx esi, byte [esp + 0x25]
mov edi, eax
mov eax, dword [esp + 0x28]
xchg edi, eax
test al, al
xchg edi, eax
je 0x5b2b83
cmp ebp, edx
ja 0x5b3064
mov edi, edx
sub edx, ebp
mov dword [esp + 0x30], edx
neg edx
sar edx, 0x1f
and ebp, edx
lea edx, [ecx + ebp]
nop
mov ebp, dword [esp + 0xb8]
test ebp, ebp
je 0x5b2c5e
cmp ebp, ebx
je 0x5b2c65
jmp 0x5b304c
mov dword [esp + 0xb8], ebx
mov ebp, dword [esp + 0xc0]
mov ecx, dword [esp + 0x30]
lea eax, [ebp + ecx]
mov dword [esp + 0x6c], eax
mov edi, dword [esp + 0xc4]
mov esi, dword [esp + 0xbc]
cmp edi, eax
jae 0x5b2cca
mov dword [esp + 0x88], edx
mov dword [esp + 0x68], ebp
lea ecx, [0x634640]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
call fcn.004484a0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x88]
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x68], edi
mov dword [esp + 0xb4], esi
lea eax, [esi + ebp]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0045fd30
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
nop
nop
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x5b2d29
lea edx, [esp + 0xb8]
cmp eax, edx
je 0x5b2d37
jmp 0x5b3034
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
mov ebx, dword [esp + 0xc0]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc4]
cmp edi, ebp
jae 0x5b2d92
lea eax, [0x634640]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.004484a0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], esi
lea edx, [esp + 0xb8]
lea ebp, [ebx + 1]
mov dword [esp + 0xc0], ebp
mov byte [esi + ebx], 0x25
movzx ebx, byte [esp + 0x25]
mov ebp, ebx
shr bl, 4
movzx ebx, bl
lea esi, [0x665e29]
movzx ebx, byte [esi + ebx]
nop
mov edi, dword [esp + 0xb8]
test edi, edi
je 0x5b2dcc
cmp edi, edx
je 0x5b2dd3
jmp 0x5b301c
mov dword [esp + 0xb8], edx
mov edi, dword [esp + 0xc0]
lea edx, [edi + 1]
mov esi, dword [esp + 0xbc]
mov eax, ebp
mov ebp, dword [esp + 0xc4]
cmp ebp, edx
jae 0x5b2e37
mov byte [esp + 0x27], bl
lea eax, [0x634640]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004484a0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], esi
movzx eax, byte [esp + 0x25]
movzx ebx, byte [esp + 0x27]
lea edx, [edi + 1]
mov dword [esp + 0xc0], edx
mov byte [esi + edi], bl
and eax, 0xf
lea edx, [0x665e29]
movzx edx, byte [eax + edx]
nop
mov ebx, dword [esp + 0xb8]
test ebx, ebx
je 0x5b2e6d
lea ebp, [esp + 0xb8]
cmp ebx, ebp
je 0x5b2e82
jmp 0x5b3004
lea ebx, [esp + 0xb8]
mov dword [esp + 0xb8], ebx
lea ebp, [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
lea esi, [ebx + 1]
mov edi, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc4]
cmp ebp, esi
jae 0x5b2edf
mov byte [esp + 0x26], dl
lea eax, [0x634640]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.004484a0
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], edi
movzx edx, byte [esp + 0x26]
lea esi, [ebx + 1]
mov dword [esp + 0xc0], esi
mov byte [edi + ebx], dl
mov edx, dword [esp + 0x4c]
lea ebp, [edx + 1]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
lea ebx, [esp + 0xb8]
jmp 0x5b2b83
cmp ebp, eax
ja 0x5b2ffb
sub eax, ebp
mov edx, eax
neg eax
sar eax, 0x1f
and ebp, eax
lea eax, [ecx + ebp]
nop
mov ecx, dword [esp + 0xb8]
test ecx, ecx
je 0x5b2f32
cmp ecx, ebx
je 0x5b2f39
jmp 0x5b2fe3
mov dword [esp + 0xb8], ebx
mov ecx, dword [esp + 0xc0]
lea ebx, [edx + ecx]
mov dword [esp + 0x6c], ebx
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0xbc]
cmp ebp, ebx
jae 0x5b2f9d
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x84], eax
lea eax, [0x634640]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004484a0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x68], ebp
mov dword [esp + 0xb4], esi
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0045fd30
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
jmp 0x5b20a8
lea eax, [0x634440]
mov dword [esp], eax
lea eax, [0x6cf020]
mov dword [esp + 4], eax
call fcn.00434270
mov ecx, eax
mov eax, ebp
call fcn.0045f480
lea eax, [0x634440]
mov dword [esp], eax
lea eax, [0x6cf020]
mov dword [esp + 4], eax
call fcn.00434270
lea eax, [0x634440]
mov dword [esp], eax
lea eax, [0x6cf020]
mov dword [esp + 4], eax
call fcn.00434270
lea eax, [0x634440]
mov dword [esp], eax
lea eax, [0x6cf020]
mov dword [esp + 4], eax
call fcn.00434270
lea eax, [0x634440]
mov dword [esp], eax
lea eax, [0x6cf020]
mov dword [esp + 4], eax
call fcn.00434270
mov eax, ebp
mov ecx, edx
call fcn.0045f480
mov ecx, eax
mov eax, edx
call fcn.0045f420
lea eax, [0x634440]
mov dword [esp], eax
lea eax, [0x6cf020]
mov dword [esp + 4], eax
call fcn.00434270
lea eax, [0x634440]
mov dword [esp], eax
lea eax, [0x6cf020]
mov dword [esp + 4], eax
call fcn.00434270
lea eax, [0x634440]
mov dword [esp], eax
lea eax, [0x6cf020]
mov dword [esp + 4], eax
call fcn.00434270
lea eax, [0x634440]
mov dword [esp], eax
lea eax, [0x6cf020]
mov dword [esp + 4], eax
call fcn.00434270
lea eax, [0x634440]
mov dword [esp], eax
lea eax, [0x6cf020]
mov dword [esp + 4], eax
call fcn.00434270
lea eax, [0x634440]
mov dword [esp], eax
lea eax, [0x6cf020]
mov dword [esp + 4], eax
call fcn.00434270
lea eax, [0x634440]
mov dword [esp], eax
lea eax, [0x6cf020]
mov dword [esp + 4], eax
call fcn.00434270
lea eax, [0x634440]
mov dword [esp], eax
lea eax, [0x6cf020]
mov dword [esp + 4], eax
call fcn.00434270
lea eax, [0x634440]
mov dword [esp], eax
lea eax, [0x6cf020]
mov dword [esp + 4], eax
call fcn.00434270
lea eax, [0x634440]
mov dword [esp], eax
lea eax, [0x6cf020]
mov dword [esp + 4], eax
call fcn.00434270
nop
call fcn.0045df90
jmp fcn.005b1a40