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

Disassembly:
mov ecx, dword [0x90eeac]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x70]
cmp eax, dword [ecx + 8]
jbe 0x614dd3
sub esp, 0xf0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
lea edx, [0x6b7dd4]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call fcn.00476820
movzx eax, byte [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test al, al
je 0x613a93
mov dword [esp + 0x54], edx
mov dword [esp + 0xac], ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x44], eax
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x90], ebx
test eax, eax
jne 0x613781
xor ebp, ebp
jmp 0x6137b8
mov dword [esp], ebx
mov dword [esp + 4], eax
lea ecx, [0x6d61e4]
mov dword [esp + 8], ecx
call fcn.004b7e90
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x90]
mov ebp, eax
mov eax, dword [esp + 0x44]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x613a76
test edx, edx
jne 0x6137ca
xor ebp, ebp
jmp 0x613801
mov dword [esp], ecx
mov dword [esp + 4], edx
lea eax, [0x6d61e4]
mov dword [esp + 8], eax
call fcn.004b7e90
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x90]
mov ebp, eax
mov eax, dword [esp + 0x44]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x613a76
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004b78e0
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x61383b
lea ebx, [esp + 0x94]
cmp eax, ebx
je 0x613849
jmp 0x614dba
lea eax, [esp + 0x94]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x98]
cmp eax, ebp
jae 0x6138ad
mov dword [esp + 0x88], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x68], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x676660]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x68], eax
mov dword [esp + 0xbc], esi
mov dword [esp + 0x64], ebp
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00471df0
mov eax, dword [esp + 0x64]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x94]
nop
nop
test eax, eax
je 0x61390f
lea ecx, [esp + 0x94]
cmp eax, ecx
je 0x61391d
jmp 0x614da2
lea eax, [esp + 0x94]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
inc ecx
mov edx, dword [esp + 0x98]
cmp eax, ecx
jae 0x613973
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x676660]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ecx
mov byte [ecx + edx - 1], 0x2f
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call fcn.004b78e0
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x6139ba
lea ebx, [esp + 0x94]
cmp eax, ebx
je 0x6139c8
jmp 0x614d8a
lea eax, [esp + 0x94]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x98]
cmp eax, ebp
jae 0x613a2c
mov dword [esp + 0x30], edx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x68], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x676660]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0xbc], esi
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], eax
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00471df0
mov eax, dword [esp + 0x68]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x98], eax
jmp 0x613bc0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
mov eax, dword [esp + 0xf8]
test eax, eax
je 0x613c3b
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x6d61e4]
mov dword [esp + 8], edx
call fcn.004b7e90
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x613c3b
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 4], eax
call fcn.004b78e0
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x613b09
lea ebx, [esp + 0x94]
cmp eax, ebx
je 0x613b17
jmp 0x614d72
lea eax, [esp + 0x94]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
lea ebp, [edx + ebx]
mov esi, dword [esp + 0x98]
cmp eax, ebp
jae 0x613b7b
mov dword [esp + 0x68], ebx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x38], edx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x676660]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00471df0
mov eax, dword [esp + 0x64]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xfc]
test eax, eax
je 0x613bcf
mov ecx, dword [eax]
jmp 0x613bd1
xor ecx, ecx
mov dword [esp + 0x4c], ecx
lea eax, [0x6765e0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call fcn.0046c2a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb8], eax
lea edi, [esp + 0xc0]
xor eax, eax
call fcn.004716f4
lea eax, [0x679c80]
mov dword [esp], eax
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
lea edx, [esp + 0xc0]
mov dword [esp + 8], edx
call fcn.00467ae0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xb8]
xor edx, edx
jmp 0x613c78
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
mov dword [esi], ebp
lea eax, [esp + 0xc0]
mov dword [esp], eax
call fcn.00467cd0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0xc0]
test ebx, ebx
je 0x613d0d
inc edx
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
cmp eax, edx
jae 0x613cd5
mov dword [esp + 0x58], ebx
mov dword [esp + 0xb0], ebp
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6765e0]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0xb0]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], eax
lea esi, [ecx + edx*8 - 4]
mov dword [esi], ebx
mov ebx, dword [0x90f128]
lea esi, [ecx + edx*8 - 8]
test ebx, ebx
je 0x613c58
call fcn.00471470
mov dword [edi], ebp
mov ebx, dword [esi]
mov dword [edi + 4], ebx
jmp 0x613c58
mov dword [esp + 0x48], edx
mov dword [esp + 0xb4], ecx
lea ebx, [0x71d6c0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call fcn.004b9560
xor eax, eax
jmp 0x613d3d
mov ecx, dword [esp + 0x68]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x48]
cmp eax, ecx
jge 0x6143b1
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0xb4]
lea edx, [ecx + eax*8]
mov ebx, dword [edx + 4]
mov dword [esp + 0x50], ebx
mov edx, dword [edx]
mov dword [esp + 0xa8], edx
lea ebp, [0x679c80]
mov dword [esp], ebp
mov esi, dword [esp + 0xfc]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.0040e0d0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x94]
mov edx, dword [eax + 4]
mov eax, dword [eax]
nop
nop
test ecx, ecx
je 0x613dae
lea ebx, [esp + 0x94]
cmp ecx, ebx
je 0x613dbc
jmp 0x614d5a
lea ecx, [esp + 0x94]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
inc ebx
mov ebp, dword [esp + 0x98]
cmp ecx, ebx
jae 0x613e22
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x676660]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x98], ebp
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x9c], ebx
mov byte [ebx + ebp - 1], 0x3b
mov ecx, dword [esp + 0x94]
nop
nop
test ecx, ecx
je 0x613e4b
lea ebx, [esp + 0x94]
cmp ecx, ebx
je 0x613e59
jmp 0x614d42
lea ecx, [esp + 0x94]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
inc ebx
mov ebp, dword [esp + 0x98]
cmp ecx, ebx
jae 0x613eb7
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x676660]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x98], ebp
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x9c], ebx
mov byte [ebx + ebp - 1], 0x20
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x614394
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [0x6d61e4]
mov dword [esp + 8], edx
call fcn.004b7e90
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x614394
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
call fcn.004b78e0
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x613f33
lea ebx, [esp + 0x94]
cmp eax, ebx
je 0x613f41
jmp 0x614d2a
lea eax, [esp + 0x94]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x98]
cmp eax, ebp
jae 0x613fa5
mov dword [esp + 0x80], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x64], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x676660]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00471df0
mov eax, dword [esp + 0x60]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x98], eax
nop
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
xor edx, edx
jmp 0x6143ec
cmp edx, eax
jge 0x61409b
mov ebx, dword [esp + 0x94]
nop
nop
test ebx, ebx
je 0x61401f
lea ebp, [esp + 0x94]
cmp ebx, ebp
je 0x61402d
jmp 0x614d12
lea ebx, [esp + 0x94]
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x9c]
inc ebp
mov esi, dword [esp + 0x98]
cmp ebx, ebp
jae 0x61408f
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x676660]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x98], esi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x9c], ebp
mov byte [ebp + esi - 1], 0x2a
mov ebx, dword [esp + 0x94]
nop
nop
test ebx, ebx
je 0x6140b8
lea ebp, [esp + 0x94]
cmp ebx, ebp
je 0x6140c6
jmp 0x614cfa
lea ebx, [esp + 0x94]
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x9c]
inc ebp
mov esi, dword [esp + 0x98]
cmp ebx, ebp
jb 0x6140e4
cmp edx, eax
jmp 0x614130
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x676660]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x98], esi
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x28]
cmp eax, ecx
mov eax, ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x9c], ebp
mov byte [ebp + esi - 1], 0x3d
jge 0x6141f3
mov edx, dword [esp + 0x94]
nop
test edx, edx
je 0x61415e
lea ebx, [esp + 0x94]
cmp edx, ebx
je 0x61416c
jmp 0x614ce2
lea edx, [esp + 0x94]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x9c]
lea ebx, [edx + 7]
mov ebp, dword [esp + 0xa0]
mov esi, dword [esp + 0x98]
cmp ebp, ebx
jae 0x6141c6
mov dword [esp + 0x64], edx
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 7
lea eax, [0x676660]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov dword [esi + edx], 0x2d667475
mov dword [esi + edx + 3], 0x2727382d
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebp
mov dword [esp + 0x98], esi
xor edx, edx
xor ebx, ebx
jmp 0x6147f5
test eax, eax
jne 0x6141fb
xor edx, edx
jmp 0x614224
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x6d61e4]
mov dword [esp + 8], edx
call fcn.004b7e90
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x6c]
mov edx, eax
mov eax, dword [esp + 0x28]
test dl, dl
jne 0x6142c9
mov edx, dword [esp + 0x94]
nop
test edx, edx
je 0x614248
lea ebx, [esp + 0x94]
cmp edx, ebx
je 0x614256
jmp 0x6147dc
lea edx, [esp + 0x94]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
inc ebx
mov ebp, dword [esp + 0x98]
cmp edx, ebx
jae 0x6142b4
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x676660]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x98], ebp
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x9c], ebx
mov byte [ebx + ebp - 1], 0x22
xor edx, edx
xor ebx, ebx
jmp 0x614458
mov edx, dword [esp + 0x94]
nop
nop
test edx, edx
je 0x6142e6
lea ebx, [esp + 0x94]
cmp edx, ebx
je 0x6142f4
jmp 0x61443f
lea edx, [esp + 0x94]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
lea ebp, [eax + ebx]
mov esi, dword [esp + 0x98]
cmp edx, ebp
jae 0x61434a
mov dword [esp + 0x64], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
lea ecx, [0x676660]
mov dword [esp + 0x10], ecx
call fcn.0046c350
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00471df0
mov eax, dword [esp + 0x60]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x98], eax
jmp 0x613d36
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
mov edx, ecx
neg ecx
cmp eax, ecx
ja 0x6143dc
mov dword [esp + 0x100], edx
mov dword [esp + 0x104], eax
add esp, 0xf0
ret
test edx, edx
je 0x6143e5
call fcn.00462160
call fcn.004621a0
mov edx, ebp
mov dword [esp + 0x64], edx
cmp edx, eax
jge 0x613ffc
movzx ebx, byte [ecx + edx]
cmp ebx, 0x80
jge 0x614409
lea ebp, [edx + 1]
jmp 0x61442d
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00462300
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
lea esi, [ebx - 0x20]
cmp esi, 0x5e
jbe 0x6143ea
cmp ebx, 9
je 0x6143ea
jmp 0x613ffa
lea eax, [0x6765e0]
mov dword [esp], eax
lea eax, [0x71cae0]
mov dword [esp + 4], eax
call fcn.0046ab50
inc edx
cmp edx, eax
jge 0x6145fa
movzx ebp, byte [ecx + edx]
xchg ebp, eax
cmp al, 0x22
xchg ebp, eax
je 0x614472
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x614457
cmp ebx, edx
ja 0x6147d3
mov ebp, edx
sub edx, ebx
mov esi, edx
neg edx
sar edx, 0x1f
and ebx, edx
mov edx, dword [esp + 0x94]
add ebx, ecx
nop
test edx, edx
je 0x6144a5
lea edi, [esp + 0x94]
cmp edx, edi
je 0x6144b3
jmp 0x6147bb
lea edx, [esp + 0x94]
mov dword [esp + 0x94], edx
mov dword [esp + 0x64], ebp
mov edx, dword [esp + 0xa0]
mov edi, dword [esp + 0x9c]
lea ecx, [esi + edi]
mov eax, dword [esp + 0x98]
cmp edx, ecx
jae 0x614515
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x74], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
lea eax, [0x676660]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x60], edx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0xbc], eax
lea ebp, [eax + edi]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
call fcn.00471df0
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x94]
nop
test eax, eax
je 0x614577
lea edx, [esp + 0x94]
cmp eax, edx
je 0x614585
jmp 0x6147a3
lea edx, [esp + 0x94]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
inc ebx
mov ebp, dword [esp + 0x98]
cmp edx, ebx
jae 0x6145db
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x676660]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], ebx
mov byte [ebx + ebp - 1], 0x5c
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov ebx, edx
jmp 0x614457
cmp ebx, eax
ja 0x61479a
sub eax, ebx
mov edx, eax
neg eax
sar eax, 0x1f
and ebx, eax
mov eax, dword [esp + 0x94]
add ecx, ebx
nop
test eax, eax
je 0x61462b
lea ebx, [esp + 0x94]
cmp eax, ebx
je 0x614639
jmp 0x614782
lea eax, [esp + 0x94]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
lea ebp, [edx + ebx]
mov esi, dword [esp + 0x98]
cmp eax, ebp
jae 0x614697
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], edx
mov dword [esp + 0x70], ecx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x676660]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00471df0
mov eax, dword [esp + 0x60]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x94]
nop
test eax, eax
je 0x6146f5
lea ecx, [esp + 0x94]
cmp eax, ecx
je 0x614703
jmp 0x61476a
lea eax, [esp + 0x94]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
inc ecx
mov edx, dword [esp + 0x98]
cmp eax, ecx
jae 0x614759
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x676660]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ecx
mov byte [ecx + edx - 1], 0x22
jmp 0x613d36
lea eax, [0x6765e0]
mov dword [esp], eax
lea eax, [0x71cae0]
mov dword [esp + 4], eax
call fcn.0046ab50
lea eax, [0x6765e0]
mov dword [esp], eax
lea eax, [0x71cae0]
mov dword [esp + 4], eax
call fcn.0046ab50
mov ecx, eax
mov eax, ebx
call fcn.00471540
lea eax, [0x6765e0]
mov dword [esp], eax
lea eax, [0x71cae0]
mov dword [esp + 4], eax
call fcn.0046ab50
lea eax, [0x6765e0]
mov dword [esp], eax
lea eax, [0x71cae0]
mov dword [esp + 4], eax
call fcn.0046ab50
mov eax, ebx
mov ecx, edx
call fcn.00471540
lea eax, [0x6765e0]
mov dword [esp], eax
lea eax, [0x71cae0]
mov dword [esp + 4], eax
call fcn.0046ab50
inc edx
cmp edx, eax
jge 0x614b71
mov dword [esp + 0x40], edx
movzx ebp, byte [ecx + edx]
xchg ebp, eax
mov byte [esp + 0x25], al
xchg ebp, eax
lea esi, [ebp - 0x21]
xchg esi, eax
cmp al, 0x5e
xchg esi, eax
jb 0x61481c
mov esi, 1
jmp 0x61488c
xchg ebp, eax
cmp al, 0x2a
xchg ebp, eax
jne 0x61482a
mov esi, 1
jmp 0x61488c
xchg ebp, eax
cmp al, 0x27
xchg ebp, eax
jne 0x614838
mov esi, 1
jmp 0x61488c
xchg ebp, eax
cmp al, 0x25
xchg ebp, eax
jne 0x614846
mov esi, 1
jmp 0x61488c
mov dword [esp + 0x3c], ebx
xchg ebp, ebx
movzx eax, bl
xchg ebp, ebx
nop
lea ecx, [0x6bd721]
mov dword [esp], ecx
mov dword [esp + 4], 0xf
mov dword [esp + 8], eax
call fcn.004b6570
mov eax, dword [esp + 0xc]
test eax, eax
setge al
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
movzx ebp, byte [esp + 0x25]
mov esi, eax
mov eax, dword [esp + 0x28]
xchg esi, eax
test al, al
xchg esi, eax
je 0x6147f4
cmp ebx, edx
ja 0x614cd9
mov esi, edx
sub edx, ebx
mov edi, edx
neg edx
sar edx, 0x1f
and ebx, edx
mov edx, dword [esp + 0x94]
add ebx, ecx
nop
test edx, edx
je 0x6148ce
lea ecx, [esp + 0x94]
cmp edx, ecx
jne 0x614cc1
mov ecx, dword [esp + 0x6c]
jmp 0x6148dc
lea edx, [esp + 0x94]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
lea eax, [ecx + edi]
mov esi, dword [esp + 0x98]
cmp edx, eax
jae 0x61493a
mov dword [esp + 0x64], edi
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x60], ecx
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
lea eax, [0x676660]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
mov dword [esp + 0xbc], esi
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
call fcn.00471df0
mov eax, dword [esp + 0x60]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x94]
nop
nop
test eax, eax
je 0x61499c
lea edx, [esp + 0x94]
cmp eax, edx
je 0x6149aa
jmp 0x614ca9
lea edx, [esp + 0x94]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
inc ebx
mov ebp, dword [esp + 0x98]
cmp edx, ebx
jae 0x614a00
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x676660]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], ebx
mov byte [ebx + ebp - 1], 0x25
movzx edx, byte [esp + 0x25]
mov ebx, edx
shr dl, 4
movzx edx, dl
mov ebp, dword [esp + 0x94]
lea esi, [0x6bdcae]
movzx edx, byte [esi + edx]
nop
test ebp, ebp
je 0x614a3f
lea edi, [esp + 0x94]
cmp ebp, edi
je 0x614a4d
jmp 0x614c91
lea ebp, [esp + 0x94]
mov dword [esp + 0x94], ebp
mov ebp, dword [esp + 0xa0]
mov edi, dword [esp + 0x9c]
inc edi
mov eax, dword [esp + 0x98]
cmp ebp, edi
jae 0x614ab7
mov byte [esp + 0x27], dl
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x676660]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x98], eax
movzx edx, byte [esp + 0x27]
movzx ebx, byte [esp + 0x25]
lea esi, [0x6bdcae]
mov dword [esp + 0x9c], edi
mov byte [edi + eax - 1], dl
and ebx, 0xf
mov edx, dword [esp + 0x94]
movzx ebx, byte [ebx + esi]
nop
test edx, edx
je 0x614ae5
lea ebp, [esp + 0x94]
cmp edx, ebp
je 0x614af3
jmp 0x614c79
lea edx, [esp + 0x94]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x9c]
inc ebp
mov esi, dword [esp + 0x98]
cmp edx, ebp
jae 0x614b52
mov byte [esp + 0x26], bl
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x676660]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x98], esi
movzx ebx, byte [esp + 0x26]
mov dword [esp + 0x9c], ebp
mov byte [ebp + esi - 1], bl
mov edx, dword [esp + 0x40]
lea ebx, [edx + 1]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
jmp 0x6147f4
cmp ebx, eax
ja 0x614c70
sub eax, ebx
mov edx, eax
neg eax
sar eax, 0x1f
and ebx, eax
mov eax, dword [esp + 0x94]
add ecx, ebx
nop
test eax, eax
je 0x614ba2
lea ebx, [esp + 0x94]
cmp eax, ebx
je 0x614bb0
jmp 0x614c58
lea eax, [esp + 0x94]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x98]
cmp eax, ebp
jae 0x614c0e
mov dword [esp + 0x64], edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x60], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x676660]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00471df0
mov eax, dword [esp + 0x60]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x98], eax
jmp 0x613d36
lea eax, [0x6765e0]
mov dword [esp], eax
lea eax, [0x71cae0]
mov dword [esp + 4], eax
call fcn.0046ab50
mov ecx, eax
mov eax, ebx
call fcn.00471540
lea eax, [0x6765e0]
mov dword [esp], eax
lea eax, [0x71cae0]
mov dword [esp + 4], eax
call fcn.0046ab50
lea eax, [0x6765e0]
mov dword [esp], eax
lea eax, [0x71cae0]
mov dword [esp + 4], eax
call fcn.0046ab50
lea eax, [0x6765e0]
mov dword [esp], eax
lea eax, [0x71cae0]
mov dword [esp + 4], eax
call fcn.0046ab50
lea eax, [0x6765e0]
mov dword [esp], eax
lea eax, [0x71cae0]
mov dword [esp + 4], eax
call fcn.0046ab50
mov eax, ebx
mov ecx, edx
call fcn.00471540
lea eax, [0x6765e0]
mov dword [esp], eax
lea eax, [0x71cae0]
mov dword [esp + 4], eax
call fcn.0046ab50
lea eax, [0x6765e0]
mov dword [esp], eax
lea eax, [0x71cae0]
mov dword [esp + 4], eax
call fcn.0046ab50
lea eax, [0x6765e0]
mov dword [esp], eax
lea eax, [0x71cae0]
mov dword [esp + 4], eax
call fcn.0046ab50
lea eax, [0x6765e0]
mov dword [esp], eax
lea eax, [0x71cae0]
mov dword [esp + 4], eax
call fcn.0046ab50
lea eax, [0x6765e0]
mov dword [esp], eax
lea eax, [0x71cae0]
mov dword [esp + 4], eax
call fcn.0046ab50
lea eax, [0x6765e0]
mov dword [esp], eax
lea eax, [0x71cae0]
mov dword [esp + 4], eax
call fcn.0046ab50
lea eax, [0x6765e0]
mov dword [esp], eax
lea eax, [0x71cae0]
mov dword [esp + 4], eax
call fcn.0046ab50
lea eax, [0x6765e0]
mov dword [esp], eax
lea eax, [0x71cae0]
mov dword [esp + 4], eax
call fcn.0046ab50
lea eax, [0x6765e0]
mov dword [esp], eax
lea eax, [0x71cae0]
mov dword [esp + 4], eax
call fcn.0046ab50
lea eax, [0x6765e0]
mov dword [esp], eax
lea eax, [0x71cae0]
mov dword [esp + 4], eax
call fcn.0046ab50
nop
call fcn.00470060
jmp fcn.006136d0