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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x68]
cmp eax, dword [ecx + 8]
jbe 0x4a2e61
sub esp, 0xe8
mov ecx, dword [esp + 0x100]
test ecx, ecx
jle 0x4a2d6d
mov edx, dword [esp + 0xf8]
test edx, edx
je 0x4a0b46
test edx, 0x60
je 0x4a2cf0
mov edi, dword [esp + 0xec]
mov dword [edi + 0xc], 0
mov ebx, dword [0x813ad0]
test ebx, ebx
jne 0x4a2cd9
mov dword [edi + 0x10], 0
mov dword [edi + 0x1c], edx
mov ebx, dword [0x813ad0]
test ebx, ebx
jne 0x4a2ca3
mov ebx, dword [esp + 0xf0]
mov dword [edi + 0x14], ebx
mov ebp, dword [esp + 0xf4]
mov dword [edi + 0x18], ebp
mov esi, edx
and edx, 0x1f
mov dword [esp + 0x80], edx
cmp edx, 0x10
jbe 0x4a2864
cmp edx, 0x15
ja 0x4a206d
cmp edx, 0x13
ja 0x4a160e
cmp edx, 0x11
jne 0x4a15c9
mov eax, dword [esp + 0xfc]
cmp eax, 0x71
jg 0x4a15b2
cmp eax, 0x58
jne 0x4a15a4
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00492dc0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x84], ecx
mov edx, dword [eax + 0x28]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
cmp eax, 8
jne 0x4a0ee7
mov eax, dword [esp + 0x80]
cmp eax, 0x17
je 0x4a0eb1
mov eax, dword [esp + 0xf8]
test eax, 0x100
jne 0x4a0e31
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00491d90
mov eax, dword [esp + 0xc]
lea ecx, [0x5ffa60]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00437c50
mov eax, dword [esp + 0x14]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x9c], edx
xor ebx, ebx
jmp 0x4a0cae
mov ebp, dword [esp + 0x9c]
mov byte [ebp + ecx], al
lea ebx, [ecx + 1]
mov eax, dword [esp + 0x70]
mov ecx, edx
mov edx, ebp
cmp ebx, ecx
jge 0x4a0dc0
mov dword [esp + 0x68], ebx
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.004919b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x80], eax
cmp eax, 9
ja 0x4a0d7e
cmp eax, 7
jne 0x4a0d16
mov eax, dword [ecx]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jb 0x4a0c98
jmp 0x4a2e06
cmp eax, 8
jne 0x4a0d2a
movzx eax, byte [ecx]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4a0d0f
cmp eax, 9
jne 0x4a0d3e
movzx eax, word [ecx]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4a0d0f
lea eax, [0x611a20]
mov dword [esp], eax
call fcn.00409a30
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x12
mov eax, dword [0x813ad0]
test eax, eax
jne 0x4a0d6e
lea eax, [0x642dc4]
mov dword [edi], eax
jmp 0x4a2d79
lea eax, [0x642dc4]
call fcn.0044b8d0
jmp 0x4a2d79
cmp eax, 0xa
jne 0x4a0d94
mov eax, dword [ecx]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4a0d0f
cmp eax, 0xb
jne 0x4a0daa
mov eax, dword [ecx]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4a0d0f
cmp eax, 0xc
jne 0x4a0d3e
mov eax, dword [ecx]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4a0d0f
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x9c], edx
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx + 0x80]
mov ebp, dword [esp + 0x84]
mov dword [esp], ebp
call ebx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xec]
mov dword [esp], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xfc]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
call fcn.0049ed10
add esp, 0xe8
ret
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00491d90
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
call fcn.00492a70
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00491050
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x4a0dc0
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], eax
call fcn.00491050
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x4a0dc0
mov eax, dword [esp + 0xec]
movzx ecx, byte [eax + 0x2c]
test cl, cl
jne 0x4a110b
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x4a10b9
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x5b
xor ecx, ecx
jmp 0x4a0f8b
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.004919b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x100]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004a0b00
mov eax, dword [esp + 0x58]
lea ecx, [eax + 1]
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf8]
mov dword [esp + 8], ebx
call fcn.00491d90
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x58]
cmp ecx, eax
jge 0x4a1044
test ecx, ecx
jle 0x4a0f1b
mov eax, dword [esp + 0xec]
mov edx, dword [eax + 4]
lea ebx, [edx + 1]
mov ebp, dword [eax + 8]
mov esi, dword [eax]
cmp ebx, ebp
jg 0x4a0ff1
lea ebx, [edx + 1]
mov dword [eax + 4], ebx
mov byte [esi + edx], 0x20
jmp 0x4a0f1b
lea eax, [0x5ffa60]
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.00437d20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x813ad0]
test edx, edx
jne 0x4a103d
mov dword [edi], eax
mov edx, ecx
mov esi, eax
mov eax, edi
mov ecx, dword [esp + 0x58]
jmp 0x4a0fe2
call fcn.0044b8d0
jmp 0x4a1031
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
jg 0x4a106c
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x5d
add esp, 0xe8
ret
lea eax, [0x5ffa60]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00437d20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x813ad0]
test edx, edx
jne 0x4a10b2
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4a105a
call fcn.0044b8d0
jmp 0x4a10ac
lea eax, [0x5ffa60]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00437d20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x813ad0]
test edx, edx
jne 0x4a1104
mov dword [edi], eax
mov edx, ecx
mov ebx, eax
mov eax, edi
jmp 0x4a0f0d
call fcn.0044b8d0
jmp 0x4a10f9
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 8], edx
call fcn.00492dc0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
mov dword [esp + 0x7c], ebx
lea ebp, [eax + ebx]
mov dword [esp + 0x78], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x4a1558
test ebp, ebp
jl 0x4a2dff
cmp ebp, esi
ja 0x4a2dff
mov dword [esp + 0x74], esi
mov dword [esp + 0xb0], edi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044c0d0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov edx, dword [0x813ad0]
test edx, edx
jne 0x4a153c
mov edx, dword [esp + 0xb0]
mov dword [edi], edx
mov ebx, dword [esp + 0x80]
cmp ebx, 0x17
jne 0x4a1530
add ebx, 0xffffffeb
cmp ebx, 1
ja 0x4a150e
mov ebx, dword [esp + 0xf8]
test ebx, 0x200
je 0x4a143c
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x50]
lea ebp, [esi + ebp + 1]
cmp ebp, ecx
jg 0x4a13e5
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
xor eax, eax
jmp 0x4a1291
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.004919b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x100]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004a0b00
mov eax, dword [esp + 0x5c]
inc eax
mov ebx, dword [esp + 0xf8]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00491d90
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
cmp ecx, eax
jge 0x4a1372
test ecx, ecx
jle 0x4a136b
mov edi, dword [esp + 0xec]
mov edx, dword [edi + 4]
lea ebx, [edx + 2]
mov ebp, dword [edi + 8]
mov esi, dword [edi]
cmp ebx, ebp
ja 0x4a1325
test ebx, ebx
jl 0x4a2df1
cmp ebx, ebp
ja 0x4a2df1
mov eax, ecx
movzx ecx, word [0x63ec4f]
mov word [esi + edx], cx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebp
mov ecx, dword [0x813ad0]
test ecx, ecx
jne 0x4a1315
mov dword [edi], esi
jmp 0x4a121c
mov ecx, eax
mov eax, esi
call fcn.0044b8d0
mov eax, ecx
jmp 0x4a121c
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ebx
lea eax, [0x5ffa60]
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.00437d20
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
jmp 0x4a12e1
mov eax, ecx
jmp 0x4a121c
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
jg 0x4a1398
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x7d
jmp 0x4a1065
lea eax, [0x5ffa60]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00437d20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x813ad0]
test edx, edx
jne 0x4a13de
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4a1388
call fcn.0044b8d0
jmp 0x4a13d8
lea ebx, [0x5ffa60]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00437d20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x813ad0]
test edx, edx
jne 0x4a1435
mov dword [edi], eax
mov ebx, dword [esp + 0xf8]
mov edx, eax
mov eax, ecx
jmp 0x4a120e
call fcn.0044b8d0
jmp 0x4a1425
test ebx, 0x80
je 0x4a1500
mov ebp, dword [esp + 0xf4]
mov esi, dword [ebp]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
xor esi, 1
xchg esi, eax
test al, al
xchg esi, eax
je 0x4a11fa
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x50]
lea ebx, [ebp + ebx + 5]
cmp ebx, ecx
ja 0x4a14c2
test ebx, ebx
jl 0x4a2df8
cmp ebx, ecx
ja 0x4a2df8
mov ebp, dword [0x63f1fd]
movzx esi, byte [0x63f201]
mov dword [edx + eax], ebp
xchg esi, ebx
mov byte [edx + eax + 4], bl
xchg esi, ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x813ad0]
test ecx, ecx
jne 0x4a14b9
mov dword [edi], edx
add esp, 0xe8
ret
mov eax, edx
call fcn.0044b8d0
jmp 0x4a14b2
mov dword [esp + 0x7c], ebx
lea ebp, [0x5ffa60]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00437d20
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x4a1478
mov ebp, dword [esp + 0xf4]
mov esi, ebp
jmp 0x4a1452
mov ebp, dword [esp + 0xf4]
mov ebx, dword [ebp]
test ebx, ebx
xchg esi, ebx
setne bl
xchg esi, ebx
xor esi, 1
mov ebx, dword [esp + 0xf8]
jmp 0x4a145e
mov ebx, dword [esp + 0xf8]
jmp 0x4a11fa
mov edx, eax
mov eax, dword [esp + 0xb0]
call fcn.0044b8d0
mov eax, edx
mov edx, dword [esp + 0xb0]
jmp 0x4a11cb
mov dword [esp + 0x88], ecx
lea eax, [0x5ffa60]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00437d20
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
jmp 0x4a1171
cmp eax, 0x71
je 0x4a0bd7
jmp 0x4a0ee7
cmp eax, 0x73
je 0x4a0bd7
cmp eax, 0x78
je 0x4a0bd7
jmp 0x4a0ee7
lea eax, [edx - 0x12]
cmp eax, 1
ja 0x4a15f5
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.0049f510
jmp 0x4a1065
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.0049dc00
jmp 0x4a1065
cmp edx, 0x14
je 0x4a1da1
movzx edx, byte [edi + 0x2c]
test dl, dl
jne 0x4a1ae7
mov edx, dword [edi + 4]
mov eax, ecx
lea ecx, [edx + 4]
mov esi, dword [edi]
mov ebp, dword [edi + 8]
cmp ecx, ebp
ja 0x4a1a97
test ecx, ecx
jl 0x4a2e3e
cmp ecx, ebp
ja 0x4a2e3e
mov ebx, dword [0x63f11c]
mov dword [esi + edx], ebx
mov dword [edi + 4], ecx
mov dword [edi + 8], ebp
mov ecx, dword [0x813ad0]
test ecx, ecx
jne 0x4a1a87
mov dword [edi], esi
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 8], edx
call fcn.00492100
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test eax, eax
jle 0x4a1867
mov dword [esp + 0x54], eax
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x100]
mov ebp, dword [esp + 0xfc]
xor esi, esi
jmp 0x4a16eb
mov edx, dword [esp + 0xac]
add edx, 0xc
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0x100]
mov esi, dword [esp + 0xfc]
mov ebx, ebp
mov ebp, esi
mov ecx, edx
mov esi, eax
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0xec]
mov dword [esp + 0xac], ecx
mov dword [esp + 0x64], esi
mov edi, ebx
mov ebx, dword [ecx + 8]
mov dword [esp + 0x80], ebx
mov ebp, dword [ecx + 4]
mov dword [esp + 0xa8], ebp
mov ecx, dword [ecx]
mov dword [esp + 0xa4], ecx
test esi, esi
jle 0x4a1773
movzx esi, byte [edx + 0x2c]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4a1a03
mov esi, dword [edx + 4]
lea ebx, [esi + 2]
mov ebp, dword [edx + 8]
mov ecx, dword [edx]
cmp ebx, ebp
ja 0x4a19b6
test ebx, ebx
jl 0x4a2e37
cmp ebx, ebp
ja 0x4a2e37
mov dword [esp + 0x7c], ebp
movzx ebp, word [0x63ec4f]
mov word [ecx + esi], bp
mov dword [edx + 4], ebx
mov ebx, dword [esp + 0x7c]
mov dword [edx + 8], ebx
mov ebx, dword [0x813ad0]
test ebx, ebx
jne 0x4a19a0
mov dword [edx], ecx
mov dword [esp], edx
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xa8]
mov dword [esp + 8], ecx
mov ebx, dword [esp + 0x80]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0xfc]
mov dword [esp + 0x10], ebp
lea esi, [edi + 1]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x14], esi
call fcn.004a0b00
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x4a194e
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x3a
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf8]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0xa8]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x80]
mov dword [esp + 0x14], ebp
call fcn.00491f30
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x14], ecx
call fcn.004a0b00
mov eax, dword [esp + 0x64]
inc eax
mov ecx, dword [esp + 0x54]
cmp eax, ecx
jl 0x4a16b9
mov eax, dword [esp + 0xec]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x4a18e1
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov ebx, dword [eax]
lea ebp, [ecx + 1]
cmp ebp, edx
jg 0x4a1894
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x7d
jmp 0x4a1065
lea eax, [0x5ffa60]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.00437d20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x813ad0]
test edx, edx
jne 0x4a18da
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x4a1885
call fcn.0044b8d0
jmp 0x4a18d4
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x4a18ff
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x5d
jmp 0x4a1065
lea eax, [0x5ffa60]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00437d20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x813ad0]
test edx, edx
jne 0x4a1947
mov dword [edi], eax
mov edx, ecx
mov ebx, eax
mov eax, edi
jmp 0x4a18f0
call fcn.0044b8d0
jmp 0x4a193f
lea eax, [0x5ffa60]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00437d20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x813ad0]
test edx, edx
jne 0x4a1999
mov dword [edi], eax
mov edx, ecx
mov ebx, eax
mov eax, edi
jmp 0x4a17cc
call fcn.0044b8d0
jmp 0x4a198e
mov ebx, edi
mov edi, edx
mov ebp, eax
mov eax, ecx
call fcn.0044b8d0
mov eax, ebp
mov edi, ebx
jmp 0x4a1773
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], esi
lea eax, [0x5ffa60]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00437d20
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x100]
jmp 0x4a173a
mov esi, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [edx + 8]
lea ebx, [esi + 1]
cmp ebx, edi
jg 0x4a1a2c
lea ebx, [esi + 1]
mov dword [edx + 4], ebx
mov byte [eax + esi], 0x20
mov eax, dword [esp + 0x54]
mov edi, dword [esp + 0x100]
jmp 0x4a1773
lea ecx, [0x5ffa60]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebx
call fcn.00437d20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x813ad0]
test edx, edx
jne 0x4a1a80
mov dword [edi], eax
mov edx, edi
mov ebp, dword [esp + 0xa8]
mov esi, ecx
mov ecx, dword [esp + 0xa4]
jmp 0x4a1a12
call fcn.0044b8d0
jmp 0x4a1a6c
mov ecx, eax
mov eax, esi
call fcn.0044b8d0
mov eax, ecx
jmp 0x4a1667
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], edx
lea eax, [0x5ffa60]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00437d20
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0xf0]
mov edi, dword [esp + 0xec]
jmp 0x4a1638
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00492dc0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
mov dword [esp + 0x7c], ebx
lea ebp, [ecx + ebx]
mov dword [esp + 0x78], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x4a1d55
test ebp, ebp
jl 0x4a2e4c
cmp ebp, esi
ja 0x4a2e4c
mov dword [esp + 0x74], esi
mov dword [esp + 0xb0], edi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044c0d0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov edx, dword [0x813ad0]
test edx, edx
jne 0x4a1d39
mov edx, dword [esp + 0xb0]
mov dword [edi], edx
mov ebx, dword [esp + 0x80]
lea ebp, [ebx - 0x15]
cmp ebp, 1
ja 0x4a1cf9
mov ebx, dword [esp + 0xf8]
test ebx, 0x200
je 0x4a1c27
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x4c]
lea ebp, [esi + ebp + 1]
cmp ebp, ecx
jg 0x4a1bd3
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
jmp 0x4a1667
lea ebx, [0x5ffa60]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00437d20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x813ad0]
test edx, edx
jne 0x4a1c20
mov dword [edi], eax
mov ebx, dword [esp + 0xf8]
mov edx, eax
mov eax, ecx
jmp 0x4a1bc4
call fcn.0044b8d0
jmp 0x4a1c13
test ebx, 0x80
je 0x4a1ceb
mov ebp, dword [esp + 0xf4]
mov esi, dword [ebp]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
xor esi, 1
xchg esi, eax
test al, al
xchg esi, eax
je 0x4a1bb4
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x4c]
lea ebx, [ebp + ebx + 5]
cmp ebx, ecx
ja 0x4a1cad
test ebx, ebx
jl 0x4a2e45
cmp ebx, ecx
ja 0x4a2e45
mov ebp, dword [0x63f1fd]
movzx esi, byte [0x63f201]
mov dword [edx + eax], ebp
xchg esi, ebx
mov byte [edx + eax + 4], bl
xchg esi, ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x813ad0]
test ecx, ecx
jne 0x4a1ca4
mov dword [edi], edx
add esp, 0xe8
ret
mov eax, edx
call fcn.0044b8d0
jmp 0x4a1c9d
mov dword [esp + 0x7c], ebx
lea ebp, [0x5ffa60]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00437d20
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x4a1c63
mov ebp, dword [esp + 0xf4]
mov esi, ebp
jmp 0x4a1c3d
lea eax, [0x611a20]
mov dword [esp], eax
call fcn.00409a30
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x13
mov eax, dword [0x813ad0]
test eax, eax
jne 0x4a1d29
lea eax, [0x643582]
mov dword [edi], eax
jmp 0x4a2d97
lea eax, [0x643582]
call fcn.0044b8d0
jmp 0x4a2d97
mov edx, eax
mov eax, dword [esp + 0xb0]
call fcn.0044b8d0
mov eax, edx
mov edx, dword [esp + 0xb0]
jmp 0x4a1b92
mov dword [esp + 0x90], eax
lea eax, [0x5ffa60]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00437d20
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
jmp 0x4a1b38
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00491720
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x4a2036
mov edi, dword [esp + 0xec]
movzx ecx, byte [edi + 0x2c]
test cl, cl
jne 0x4a1e75
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp edx, ebx
ja 0x4a1e33
test edx, edx
jl 0x4a2e0d
cmp edx, ebx
ja 0x4a2e0d
movzx esi, byte [0x63f25b]
mov eax, ebx
mov ebx, dword [0x63f257]
mov dword [ebp + ecx], ebx
xchg esi, eax
mov byte [ebp + ecx + 4], al
xchg esi, eax
mov dword [edi + 4], edx
mov dword [edi + 8], eax
mov ecx, dword [0x813ad0]
test ecx, ecx
jne 0x4a1e27
mov dword [edi], ebp
jmp 0x4a1065
mov eax, ebp
call fcn.0044b8d0
jmp 0x4a1065
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], edx
lea eax, [0x5ffa60]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00437d20
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
jmp 0x4a1de7
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], eax
call fcn.00492dc0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
mov dword [esp + 0x7c], ebx
lea ebp, [eax + ebx]
mov dword [esp + 0x78], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x4a1fea
test ebp, ebp
jl 0x4a2e1b
cmp ebp, esi
ja 0x4a2e1b
mov dword [esp + 0x74], esi
mov dword [esp + 0xb0], edi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044c0d0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov edx, dword [0x813ad0]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x48]
lea ebx, [ebp + ebx + 5]
test edx, edx
jne 0x4a1fce
mov edx, dword [esp + 0xb0]
mov dword [edi], edx
cmp ebx, ecx
ja 0x4a1f90
test ebx, ebx
jl 0x4a2e14
cmp ebx, ecx
ja 0x4a2e14
mov ebp, dword [0x63f1fd]
movzx esi, byte [0x63f201]
mov dword [edx + eax], ebp
xchg esi, ebx
mov byte [edx + eax + 4], bl
xchg esi, ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x813ad0]
test ecx, ecx
jne 0x4a1f84
mov dword [edi], edx
jmp 0x4a1065
mov eax, edx
call fcn.0044b8d0
jmp 0x4a1065
mov dword [esp + 0x7c], ebx
lea ebp, [0x5ffa60]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00437d20
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x4a1f45
mov edx, eax
mov eax, dword [esp + 0xb0]
call fcn.0044b8d0
mov eax, edx
mov edx, dword [esp + 0xb0]
jmp 0x4a1f41
mov dword [esp + 0x8c], ecx
lea eax, [0x5ffa60]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00437d20
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
jmp 0x4a1edb
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x100]
inc eax
mov dword [esp + 0x14], eax
call fcn.004a0b00
jmp 0x4a1065
cmp edx, 0x17
ja 0x4a2216
cmp edx, 0x16
jne 0x4a0bbe
test ecx, ecx
jne 0x4a15d1
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004924c0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4a20c0
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0xec]
jmp 0x4a15d1
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 8], edx
call fcn.00491720
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, eax
and eax, 0x1f
cmp eax, 0x15
ja 0x4a2202
cmp eax, 0x11
jne 0x4a21d8
mov dword [esp + 0x80], ebx
mov eax, dword [esp + 0xec]
mov ebp, dword [eax + 8]
mov esi, dword [eax + 4]
mov edi, dword [eax]
lea ebx, [esi + 1]
cmp ebx, ebp
jg 0x4a2168
lea ebx, [esi + 1]
mov dword [eax + 4], ebx
mov byte [edi + esi], 0x26
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x80]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x100]
inc eax
mov dword [esp + 0x14], eax
call fcn.004a0b00
add esp, 0xe8
ret
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xa4], edx
lea eax, [0x5ffa60]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00437d20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x813ad0]
test edx, edx
jne 0x4a21d1
mov dword [edi], eax
mov edx, dword [esp + 0xa4]
mov esi, ecx
mov ecx, dword [esp + 0xa8]
mov ebx, eax
mov eax, edi
mov edi, ebx
jmp 0x4a2125
call fcn.0044b8d0
jmp 0x4a21b6
cmp eax, 0x15
je 0x4a2108
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0xec]
jmp 0x4a15d1
cmp eax, 0x17
je 0x4a2108
cmp eax, 0x19
je 0x4a2108
jmp 0x4a21e1
cmp edx, 0x18
je 0x4a2825
cmp edx, 0x19
jne 0x4a2817
movzx eax, byte [edi + 0x2c]
test al, al
jne 0x4a26f5
mov eax, dword [edi + 4]
mov edx, dword [edi + 8]
mov ecx, dword [edi]
lea esi, [eax + 1]
cmp esi, edx
jg 0x4a2695
lea edx, [eax + 1]
mov dword [edi + 4], edx
mov byte [ecx + eax], 0x7b
lea eax, [esp + 8]
mov dword [esp + 0xa0], eax
xor ecx, ecx
jmp 0x4a22e5
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0xc], ebx
call fcn.0049da70
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x100]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004a0b00
mov eax, dword [esp + 0x60]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov dword [esp + 0x60], ecx
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], eax
call fcn.00492480
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x60]
cmp ecx, eax
jge 0x4a2622
test ecx, ecx
jle 0x4a2614
mov edi, dword [esp + 0xec]
movzx edx, byte [edi + 0x2c]
test dl, dl
je 0x4a25a3
mov edx, dword [edi + 4]
lea ebx, [edx + 2]
mov ebp, dword [edi + 8]
mov esi, dword [edi]
cmp ebx, ebp
ja 0x4a255d
test ebx, ebx
jl 0x4a2e29
cmp ebx, ebp
ja 0x4a2e29
mov eax, ecx
movzx ecx, word [0x63ec4f]
mov word [esi + edx], cx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebp
mov ecx, dword [0x813ad0]
test ecx, ecx
jne 0x4a254d
mov dword [edi], esi
movzx ecx, byte [edi + 0x2b]
test cl, cl
je 0x4a253c
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 8], edx
call fcn.00492dc0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x2c]
mov edx, dword [esp + 0x60]
mov dword [esp + 4], edx
mov dword [esp], ecx
call eax
lea edi, [esp + 0xb4]
mov esi, dword [esp + 0xa0]
call fcn.0044be5e
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb4]
test eax, eax
je 0x4a2530
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
mov dword [esp + 0x7c], ebx
lea ebp, [eax + ebx]
mov dword [esp + 0x78], ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x4a24e4
test ebp, ebp
jl 0x4a2e22
cmp ebp, edi
ja 0x4a2e22
mov dword [esp + 0xb0], esi
mov dword [esp + 0x74], edi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044c0d0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov edx, dword [0x813ad0]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x40]
lea ebx, [ebp + ebx + 1]
test edx, edx
jne 0x4a24cb
mov edx, dword [esp + 0xb0]
mov dword [edi], edx
cmp ebx, ecx
jg 0x4a247e
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x3a
jmp 0x4a2263
lea ebp, [0x5ffa60]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00437d20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x813ad0]
test edx, edx
jne 0x4a24c4
mov dword [edi], eax
mov edx, eax
mov eax, ecx
jmp 0x4a246f
call fcn.0044b8d0
jmp 0x4a24be
mov edx, eax
mov eax, dword [esp + 0xb0]
call fcn.0044b8d0
mov eax, edx
mov edx, dword [esp + 0xb0]
jmp 0x4a246b
mov dword [esp + 0x94], ecx
lea eax, [0x5ffa60]
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.00437d20
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
jmp 0x4a2409
mov edi, dword [esp + 0xec]
jmp 0x4a2263
movzx ecx, byte [edi + 0x2c]
test cl, cl
jne 0x4a237d
jmp 0x4a2263
mov ecx, eax
mov eax, esi
call fcn.0044b8d0
mov eax, ecx
jmp 0x4a2371
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ebx
lea eax, [0x5ffa60]
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.00437d20
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
jmp 0x4a233e
mov eax, dword [edi + 4]
lea edx, [eax + 1]
mov ebx, dword [edi]
mov ebp, dword [edi + 8]
cmp edx, ebp
jg 0x4a25c3
lea edx, [eax + 1]
mov dword [edi + 4], edx
mov byte [ebx + eax], 0x20
mov eax, ecx
jmp 0x4a2371
lea ecx, [0x5ffa60]
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.00437d20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x813ad0]
test edx, edx
jne 0x4a260d
mov dword [edi], eax
mov ebx, eax
mov eax, ecx
mov ecx, dword [esp + 0x60]
jmp 0x4a25b2
call fcn.0044b8d0
jmp 0x4a2603
mov eax, ecx
mov edi, dword [esp + 0xec]
jmp 0x4a2371
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
jg 0x4a2648
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x7d
jmp 0x4a1065
lea eax, [0x5ffa60]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00437d20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x813ad0]
test edx, edx
jne 0x4a268e
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4a2638
call fcn.0044b8d0
jmp 0x4a2688
lea ebx, [0x5ffa60]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.00437d20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x813ad0]
test edx, edx
jne 0x4a26ee
mov dword [edi], eax
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x4a2247
call fcn.0044b8d0
jmp 0x4a26d5
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00492dc0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
lea ebp, [eax + ebx]
mov dword [esp + 0x7c], ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x4a27c3
test ebp, ebp
jl 0x4a2e30
cmp ebp, edi
ja 0x4a2e30
mov dword [esp + 0xb0], esi
mov dword [esp + 0x78], edi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044c0d0
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x78]
mov dword [edi + 8], eax
mov eax, dword [0x813ad0]
test eax, eax
jne 0x4a27b5
mov eax, dword [esp + 0xb0]
mov dword [edi], eax
mov ecx, dword [esp + 0x100]
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
jmp 0x4a2234
mov eax, dword [esp + 0xb0]
call fcn.0044b8d0
jmp 0x4a2794
mov dword [esp + 0x78], ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x98], ecx
lea eax, [0x5ffa60]
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.00437d20
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
jmp 0x4a273e
cmp edx, 0x1a
je 0x4a15d1
jmp 0x4a15f5
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00492cd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xec]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xc], eax
call fcn.0049eba0
jmp 0x4a1065
cmp edx, 0xc
ja 0x4a2bc6
cmp edx, 1
ja 0x4a2a45
test esi, 0x1f
jne 0x4a2a0d
test ecx, ecx
jne 0x4a2950
mov eax, dword [edi + 4]
lea ecx, [eax + 0x17]
mov dword [esp + 0x7c], ecx
mov edx, dword [edi]
mov ebx, dword [edi + 8]
cmp ecx, ebx
ja 0x4a2912
test ecx, ecx
jl 0x4a2e5a
cmp ecx, ebx
ja 0x4a2e5a
mov dword [esp + 0x78], ebx
mov dword [esp + 0xb0], edx
add eax, edx
mov dword [esp], eax
lea eax, [0x644a05]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
call fcn.0044c0d0
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x78]
mov dword [edi + 8], eax
mov eax, dword [0x813ad0]
test eax, eax
jne 0x4a2901
mov eax, dword [esp + 0xb0]
mov dword [edi], eax
jmp 0x4a1065
mov eax, dword [esp + 0xb0]
call fcn.0044b8d0
jmp 0x4a1065
mov dword [esp + 0x78], eax
lea ebp, [0x5ffa60]
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.00437d20
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x4a289d
mov ecx, dword [esp + 0xfc]
cmp ecx, 0x76
jne 0x4a29fc
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi]
mov ebp, dword [edi + 8]
cmp edx, ebp
ja 0x4a29ba
test edx, edx
jl 0x4a2e53
cmp edx, ebp
ja 0x4a2e53
mov esi, dword [0x63f257]
mov eax, ebp
movzx ebp, byte [0x63f25b]
mov dword [ebx + ecx], esi
xchg ebp, eax
mov byte [ebx + ecx + 4], al
xchg ebp, eax
mov dword [edi + 4], edx
mov dword [edi + 8], eax
mov ecx, dword [0x813ad0]
test ecx, ecx
jne 0x4a29ae
mov dword [edi], ebx
jmp 0x4a1065
mov eax, ebx
call fcn.0044b8d0
jmp 0x4a1065
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ecx
lea eax, [0x5ffa60]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00437d20
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x4a296f
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.0049dea0
jmp 0x4a1065
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00491010
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov byte [esp + 4], al
mov eax, dword [esp + 0xfc]
mov dword [esp + 8], eax
call fcn.0049e450
jmp 0x4a1065
lea eax, [edx - 2]
cmp eax, 4
ja 0x4a2aff
cmp edx, 3
ja 0x4a2a93
cmp edx, 2
jne 0x4a2a88
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.0049e530
jmp 0x4a1065
movsx eax, byte [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4a2a63
cmp edx, 4
jne 0x4a2aa3
movsx eax, word [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4a2a63
cmp edx, 5
jne 0x4a2ab2
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4a2a63
cmp edx, 6
jne 0x4a2abf
mov ecx, dword [ebp]
mov eax, dword [ebp + 4]
jmp 0x4a2a63
lea eax, [0x611a20]
mov dword [esp], eax
call fcn.00409a30
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x11
mov eax, dword [0x813ad0]
test eax, eax
jne 0x4a2aef
lea eax, [0x6427bc]
mov dword [edi], eax
jmp 0x4a2dd3
lea eax, [0x6427bc]
call fcn.0044b8d0
jmp 0x4a2dd3
lea eax, [edx - 7]
cmp eax, 5
ja 0x4a15f5
cmp edx, 9
ja 0x4a2b9d
cmp edx, 7
jne 0x4a2b43
mov eax, dword [ebp]
xor ecx, ecx
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 0
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.0049e530
jmp 0x4a1065
cmp edx, 8
jne 0x4a2b50
movzx eax, byte [ebp]
xor ecx, ecx
jmp 0x4a2b1e
cmp edx, 9
jne 0x4a2b5d
movzx eax, word [ebp]
xor ecx, ecx
jmp 0x4a2b1e
lea eax, [0x611a20]
mov dword [esp], eax
call fcn.00409a30
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x12
mov eax, dword [0x813ad0]
test eax, eax
jne 0x4a2b8d
lea eax, [0x642dc4]
mov dword [edi], eax
jmp 0x4a2db5
lea eax, [0x642dc4]
call fcn.0044b8d0
jmp 0x4a2db5
cmp edx, 0xa
jne 0x4a2bac
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4a2b1e
cmp edx, 0xb
jne 0x4a2bbc
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
jmp 0x4a2b1e
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4a2b1e
cmp edx, 0xe
ja 0x4a2c2a
cmp edx, 0xd
jne 0x4a2bff
movss xmm0, dword [ebp]
mov dword [esp], edi
cvtss2sd xmm0, xmm0
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x20
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.0049e850
jmp 0x4a1065
movsd xmm0, qword [ebp]
mov dword [esp], edi
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x40
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.0049e850
jmp 0x4a1065
cmp edx, 0xf
jne 0x4a2c6d
movss xmm0, dword [ebp]
movss xmm1, dword [ebp + 4]
mov dword [esp], edi
cvtss2sd xmm0, xmm0
movsd qword [esp + 4], xmm0
cvtss2sd xmm0, xmm1
movsd qword [esp + 0xc], xmm0
mov dword [esp + 0x14], 0x40
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x18], eax
call fcn.0049e9b0
jmp 0x4a1065
movsd xmm0, qword [ebp + 8]
movsd xmm1, qword [ebp]
mov dword [esp], edi
movsd qword [esp + 4], xmm1
movsd qword [esp + 0xc], xmm0
mov dword [esp + 0x14], 0x80
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x18], eax
call fcn.0049e9b0
jmp 0x4a1065
lea esi, [edi + 0x14]
mov eax, edi
mov edi, esi
mov ebx, eax
mov eax, dword [esp + 0xf0]
call fcn.0044b8d0
lea edi, [ebx + 0x18]
mov ebp, eax
mov eax, dword [esp + 0xf4]
call fcn.0044b8d0
mov ebx, ebp
mov ebp, eax
mov edi, dword [esp + 0xec]
jmp 0x4a0b8e
lea ebx, [edi + 0x10]
mov eax, edi
mov edi, ebx
mov ebp, eax
xor eax, eax
call fcn.0044b8d0
mov edi, ebp
jmp 0x4a0b69
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00491b80
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xec]
mov dword [edx + 0xc], ecx
mov ecx, dword [0x813ad0]
test ecx, ecx
jne 0x4a2d63
mov dword [edx + 0x10], eax
mov dword [esp], edx
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], eax
call fcn.0049fe50
movzx eax, byte [esp + 8]
test al, al
jne 0x4a2d5c
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0xf8]
jmp 0x4a0b46
add esp, 0xe8
ret
lea edi, [edx + 0x10]
call fcn.0044b8d0
jmp 0x4a2d2d
mov edx, dword [esp + 0xf8]
jmp 0x4a0b46
mov eax, dword [esp + 0x80]
mov dword [edi + 8], eax
lea eax, [0x606120]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.004267f0
ud2
mov eax, dword [esp + 0x80]
mov dword [edi + 8], eax
lea eax, [0x606120]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.004267f0
ud2
mov eax, dword [esp + 0x80]
mov dword [edi + 8], eax
lea eax, [0x606120]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.004267f0
ud2
mov eax, dword [esp + 0x80]
mov dword [edi + 8], eax
lea eax, [0x606120]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.004267f0
ud2
call fcn.00425a10
ud2
call fcn.00425a10
ud2
call fcn.00425a10
ud2
call fcn.00425910
ud2
call fcn.00425a10
ud2
call fcn.00425a10
ud2
call fcn.00425a10
ud2
call fcn.00425a10
ud2
call fcn.00425a10
ud2
call fcn.00425a10
ud2
call fcn.00425a10
ud2
call fcn.00425a10
ud2
call fcn.00425a10
ud2
call fcn.00425a10
ud2
call fcn.00425a10
ud2
call fcn.00425a10
ud2
call fcn.0044a170
jmp fcn.004a0b00