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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x94]
cmp eax, dword [ecx + 8]
jbe 0x4a1011
sub esp, 0x114
mov ecx, dword [esp + 0x120]
cmp ecx, 2
jl 0x4a0f16
mov ebx, dword [esp + 0x11c]
mov ebp, dword [esp + 0x124]
mov eax, ebp
mov edx, ebx
xor esi, esi
xor edi, edi
xor eax, eax
mov word [esp + 0x24], ax
xor edx, edx
mov dword [esp + 0x34], edx
xor edx, edx
mov dword [esp + 0x30], edx
xor edx, edx
mov dword [esp + 0x110], edx
xor ebx, ebx
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x11c]
mov eax, ebp
mov edx, ebx
jmp 0x49fcf0
inc ebx
mov ebp, dword [esp + 0x110]
mov esi, dword [esp + 0x30]
movzx ebp, word [esp + 0x24]
mov esi, dword [esp + 0x108]
mov dword [esp + 0x38], ebx
movzx ebx, word [esp + 0x22]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x30]
cmp ebx, ebp
jge 0x49fcb1
mov esi, dword [esp + 0x28]
cmp ebx, esi
jge 0x49fcb1
cmp ebx, ebp
jae 0x4a1000
mov esi, dword [esp + 0x110]
mov esi, dword [esi + ebx*4]
mov ebp, dword [esp + 0x108]
mov ebp, dword [ebp + ebx*4]
cmp esi, ebp
je 0x49fc5b
test ebx, ebx
jle 0x49fd71
mov ebp, dword [esp + 0x34]
cmp ebx, ebp
ja 0x4a0ff7
movzx esi, word [esp + 0x24]
mov eax, dword [esp + 0x68]
inc eax
mov word [esp + 0x24], si
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], ebx
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x10c]
mov esi, eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x10c], ebx
cmp esi, ecx
jg 0x4a0378
mov dword [esp + 0x68], esi
jge 0x4a0364
jae 0x4a1009
mov ebx, dword [edx + esi*4]
cmp byte [ebx], 0x12
jne 0x49fd27
mov ebp, dword [ebx + 8]
mov esi, dword [ebx + 4]
test ebp, ebp
jle 0x49fd27
mov ebx, dword [esi]
cmp byte [ebx], 3
je 0x4a0342
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor ebx, ebx
mov dword [esp + 0x28], ebx
xor ebx, ebx
mov word [esp + 0x22], bx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x108], esi
movzx ebp, word [esp + 0x24]
cmp bx, bp
jne 0x49fd71
mov dword [esp + 0xb0], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xb0]
jmp 0x49fc7c
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x108]
movzx ebx, word [esp + 0x22]
mov word [esp + 0x26], bx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x68]
cmp ebx, edi
jne 0x49fdbd
mov edi, dword [esp + 0x40]
mov ebx, ebp
mov dword [esp + 0x110], esi
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x68]
movzx esi, word [esp + 0x26]
mov ebp, dword [esp + 0x5c]
jmp 0x49fcca
mov dword [esp + 0x58], ebp
mov dword [esp + 0x104], esi
lea ebp, [edi + 1]
cmp ebx, ebp
jne 0x49fedb
cmp edi, ecx
jae 0x4a0ff0
mov ebp, dword [esp + 0x3c]
lea ebx, [ebp + 1]
mov esi, dword [edx + edi*4]
mov edi, esi
mov esi, dword [esp + 0x40]
cmp ebx, esi
ja 0x49fe74
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], esi
mov ebx, dword [esp + 0xe0]
lea esi, [ebx + ebp*4]
mov dword [esp + 0x100], esi
mov esi, dword [0x5ab4f0]
test esi, esi
jne 0x49fe5e
mov dword [ebx + ebp*4], edi
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
mov edi, ebp
mov dword [esp + 0x3c], esi
mov dword [esp + 0x10c], ebx
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x104]
jmp 0x49fd9e
mov ebp, edi
mov edi, dword [esp + 0x100]
mov esi, eax
mov eax, ebp
call fcn.00453b50
mov eax, esi
jmp 0x49fe35
mov dword [esp + 0xfc], edi
lea eax, [0x4d72c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x10c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.0043e480
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x11c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xfc]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x124]
jmp 0x49fe0f
mov dword [esp + 0x48], edi
nop
mov ebp, dword [esp + 0x118]
mov esi, dword [ebp + 0x10]
lea edx, [ebp + 0x10]
mov dword [esp + 0xf8], edx
test esi, esi
je 0x4a0316
mov ecx, dword [0x5ab4f0]
mov ebx, dword [esi + 0x10]
test ecx, ecx
jne 0x4a02d3
mov dword [ebp + 0x10], ebx
mov edi, esi
mov ebx, eax
xor eax, eax
call fcn.00453d31
mov dword [esp + 0xdc], esi
mov byte [esi], 3
movzx eax, word [esp + 0x24]
mov word [esi + 2], ax
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x14]
mov edi, dword [esp + 0x30]
cmp edi, eax
ja 0x4a02a0
mov dword [esp + 0x84], eax
mov dword [esp + 0x108], ecx
mov dword [esp], ecx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
shl edi, 2
mov dword [esp + 8], edi
call fcn.00454440
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xdc]
mov dword [ecx + 0x18], eax
mov edx, dword [esp + 0x84]
mov dword [ecx + 0x1c], edx
mov edx, dword [0x5ab4f0]
test edx, edx
jne 0x4a0288
mov ebx, dword [esp + 0x108]
mov dword [ecx + 0x14], ebx
mov ebx, dword [esp + 0x11c]
mov ebp, dword [esp + 0x118]
mov esi, dword [esp + 0x120]
mov edi, dword [esp + 0x68]
mov edx, dword [esp + 0x48]
jmp 0x49ffe7
inc edx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x118]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0x68]
mov ecx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x118]
mov esi, dword [esp + 0x120]
mov edi, dword [esp + 0x68]
cmp edx, edi
jge 0x4a003d
cmp edx, esi
jae 0x4a0fe7
mov dword [esp + 0x84], edx
mov ecx, dword [ebx + edx*4]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004a1020
mov eax, dword [0x5ab4f0]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x11c]
lea edi, [ebx + edx*4]
test eax, eax
jne 0x4a0031
mov dword [ebx + edx*4], ecx
jmp 0x49ffb7
mov eax, ecx
call fcn.00453b50
jmp 0x49ffb7
mov edx, dword [esp + 0x124]
cmp edi, edx
ja 0x4a0fe0
mov eax, dword [esp + 0x48]
cmp eax, edi
ja 0x4a0fd9
mov dword [esp], ebp
sub edx, eax
mov dword [esp + 0x84], edx
mov esi, eax
shl eax, 2
neg edx
sar edx, 0x1f
and eax, edx
add eax, ebx
mov dword [esp + 4], eax
sub edi, esi
mov dword [esp + 8], edi
mov edx, dword [esp + 0x84]
mov dword [esp + 0xc], edx
mov byte [esp + 0x10], 0x13
call fcn.0049f800
mov eax, dword [esp + 0x14]
mov dword [esp + 0xbc], eax
nop
mov ecx, dword [esp + 0x118]
mov edi, dword [ecx + 0x10]
test edi, edi
je 0x4a026a
mov dword [esp + 0xcc], edi
mov ebx, dword [0x5ab4f0]
mov ebp, dword [edi + 0x10]
test ebx, ebx
jne 0x4a023a
mov dword [ecx + 0x10], ebp
mov edx, eax
xor eax, eax
call fcn.00453d31
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc4], eax
mov byte [eax], 0x12
mov ebx, dword [eax + 4]
mov ebp, dword [eax + 0xc]
cmp ebp, 2
jb 0x4a01f2
mov ecx, 2
mov esi, dword [0x5ab4f0]
test esi, esi
jne 0x4a01cc
mov esi, dword [esp + 0xdc]
mov dword [ebx], esi
mov dword [ebx + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebp
mov ebp, dword [0x5ab4f0]
test ebp, ebp
jne 0x4a01b9
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x3c]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0x40]
cmp ebp, esi
ja 0x4a0178
mov ecx, dword [esp + 0x10c]
mov edx, ebp
mov ebp, dword [0x5ab4f0]
lea edi, [ecx + ebx*4]
test ebp, ebp
jne 0x4a0171
mov dword [ecx + ebx*4], eax
mov eax, dword [esp + 0x124]
mov ebp, esi
mov ebx, ecx
mov esi, edx
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x11c]
jmp 0x49fe3d
call fcn.00453b50
jmp 0x4a0151
lea eax, [0x4d72c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x10c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.0043e480
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0xc4]
mov ebx, dword [esp + 0x3c]
jmp 0x4a013f
lea edi, [eax + 4]
mov ecx, eax
mov eax, ebx
call fcn.00453b50
mov eax, ecx
jmp 0x4a0129
mov edi, ebx
mov eax, dword [esp + 0xdc]
call fcn.00453b50
lea esi, [ebx + 4]
mov edi, esi
mov eax, edx
call fcn.00453b50
mov eax, dword [esp + 0xc4]
jmp 0x4a0112
lea eax, [0x4d72c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], 2
call fcn.0043e480
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 2]
mov eax, dword [esp + 0xc4]
mov edx, dword [esp + 0xbc]
jmp 0x4a00f8
mov eax, edi
mov edi, dword [esp + 0xf8]
mov ecx, eax
mov eax, ebp
call fcn.00453b50
lea edx, [0x4d8b00]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.0040eaa0
mov edx, dword [esp + 0xbc]
jmp 0x4a00d3
lea eax, [0x4d8b00]
mov dword [esp], eax
call fcn.0040a430
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xbc]
jmp 0x4a00da
lea edi, [ecx + 0x14]
mov edx, eax
mov eax, dword [esp + 0x108]
call fcn.00453b50
mov eax, edx
jmp 0x49ff98
lea edx, [0x4c9a40]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
call fcn.0043e480
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x30]
jmp 0x49ff40
mov dword [esp + 0xd4], esi
mov edi, edx
mov eax, ebx
call fcn.00453b50
lea ecx, [0x4d8b00]
mov dword [esp], ecx
mov dword [esp + 4], esi
call fcn.0040eaa0
mov edx, dword [esp + 0xf8]
mov ebx, dword [esp + 0x124]
mov ebp, dword [esp + 0x118]
mov esi, dword [esp + 0xd4]
jmp 0x49ff1b
lea eax, [0x4d8b00]
mov dword [esp], eax
call fcn.0040a430
mov esi, dword [esp + 4]
mov edx, dword [esp + 0xf8]
mov ebx, dword [esp + 0x124]
mov ebp, dword [esp + 0x118]
jmp 0x49ff1b
mov ebp, dword [ebx + 0x1c]
mov esi, dword [ebx + 0x18]
mov eax, dword [ebx + 0x14]
movzx ebx, word [ebx + 2]
and ebx, 1
mov dword [esp + 0x28], esi
mov esi, eax
mov eax, dword [esp + 0x124]
jmp 0x49fd3e
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor ebx, ebx
mov word [esp + 0x26], bx
xor ebx, ebx
jmp 0x49fd8e
mov esi, dword [esp + 0x3c]
mov eax, ebp
mov ecx, ebx
xor edx, edx
xor edi, edi
xor eax, eax
mov dword [esp + 0xd8], eax
xor ecx, ecx
mov dword [esp + 0x84], ecx
mov eax, ebp
mov ecx, ebx
jmp 0x4a03b8
inc edx
mov dword [esp + 0xd8], ebp
mov ebp, ebx
mov dword [esp + 0x84], esi
mov ebx, dword [esp + 0x110]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x110], ebx
cmp edx, esi
jg 0x4a0958
mov dword [esp + 0x60], edx
mov dword [esp + 0x80], ebp
mov dword [esp + 0x50], edi
jge 0x4a094a
jae 0x4a0fd0
mov ebx, dword [ecx + edx*4]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x4a0915
xor ebx, ebx
mov dword [esp + 0xb8], ebx
mov ebp, dword [esp + 0xd8]
test ebp, ebp
jne 0x4a08d6
mov dword [esp + 0xa0], eax
xor eax, eax
mov byte [esp + 0x21], al
mov eax, dword [esp + 0xa0]
movzx esi, byte [esp + 0x21]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4a04a7
movzx esi, byte [ebp]
xchg esi, eax
cmp al, 3
xchg esi, eax
jne 0x4a044e
cmp dword [ebp + 0x18], 1
jne 0x4a044e
mov ebx, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
jmp 0x4a039c
xchg esi, eax
cmp al, 4
xchg esi, eax
je 0x4a043b
xchg esi, eax
cmp al, 5
xchg esi, eax
je 0x4a043b
xchg esi, eax
cmp al, 6
xchg esi, eax
je 0x4a043b
xchg esi, eax
cmp al, 0x11
xchg esi, eax
jne 0x4a04a7
mov esi, dword [ebp + 0x2c]
cmp dword [ebp + 0x28], esi
jne 0x4a04a7
mov esi, dword [ebp + 4]
mov ebx, dword [ebp + 8]
test ebx, ebx
jbe 0x4a0fc7
mov ebx, dword [esi]
movzx esi, byte [ebx]
xchg esi, eax
cmp al, 3
xchg esi, eax
jne 0x4a0492
cmp dword [ebx + 0x18], 1
je 0x4a043b
xchg esi, eax
cmp al, 4
xchg esi, eax
je 0x4a043b
xchg esi, eax
cmp al, 5
xchg esi, eax
je 0x4a043b
xchg esi, eax
cmp al, 6
xchg esi, eax
je 0x4a043b
mov ebx, dword [esp + 0xb8]
cmp edx, edi
jne 0x4a04e9
mov ebp, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0x110]
mov dword [esp + 0x110], edi
mov edi, edx
mov dword [esp + 0x98], eax
mov eax, ebp
mov ebp, ebx
mov ebx, eax
mov eax, dword [esp + 0x98]
jmp 0x4a039c
mov dword [esp + 0xe4], ebx
lea esi, [edi + 1]
cmp edx, esi
jne 0x4a05f9
mov ebp, dword [esp + 0x3c]
cmp edi, ebp
jae 0x4a0fbe
mov esi, dword [esp + 0x84]
lea ebp, [esi + 1]
mov ebx, dword [ecx + edi*4]
mov edi, ebx
mov ebx, dword [esp + 0x80]
cmp ebp, ebx
ja 0x4a0595
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x84], ebp
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0xe0]
lea ebp, [ebx + esi*4]
mov dword [esp + 0xf4], ebp
mov ebp, dword [0x5ab4f0]
test ebp, ebp
jne 0x4a057f
mov dword [ebx + esi*4], edi
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x84]
mov edi, ebx
mov ebx, dword [esp + 0xe4]
jmp 0x4a04c7
mov ebp, edi
mov edi, dword [esp + 0xf4]
mov esi, eax
mov eax, ebp
call fcn.00453b50
mov eax, esi
jmp 0x4a0566
mov dword [esp + 0xfc], edi
lea eax, [0x4d72c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.0043e480
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ebp, [ecx + 1]
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0xfc]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x40]
jmp 0x4a053d
mov esi, dword [esp + 0x118]
jmp 0x4a0635
lea edi, [edx + 1]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x60]
mov eax, dword [esp + 0x40]
mov ecx, ebx
mov edx, ebp
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0xd8]
mov esi, dword [esp + 0x118]
cmp edi, edx
jge 0x4a0695
mov ebx, dword [esp + 0x3c]
cmp edi, ebx
jae 0x4a0fb5
mov dword [esp + 0x7c], edi
mov eax, dword [ecx + edi*4]
mov dword [esp], esi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
cmp edi, eax
setne dl
mov byte [esp + 8], dl
call fcn.004a1240
mov eax, dword [0x5ab4f0]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x10c]
lea edi, [ebx + edx*4]
test eax, eax
jne 0x4a0689
mov dword [ebx + edx*4], ecx
jmp 0x4a0602
mov eax, ecx
call fcn.00453b50
jmp 0x4a0602
cmp edx, eax
ja 0x4a0fac
mov edi, dword [esp + 0x50]
cmp edi, edx
ja 0x4a0fa3
mov dword [esp], esi
sub eax, edi
mov dword [esp + 0x7c], eax
mov ebp, edi
shl edi, 2
neg eax
sar eax, 0x1f
and edi, eax
lea eax, [edi + ecx]
mov dword [esp + 4], eax
sub edx, ebp
mov dword [esp + 8], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0xc], edx
mov byte [esp + 0x10], 0x13
call fcn.0049f800
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc0], eax
nop
mov ecx, dword [esp + 0x118]
mov edi, dword [ecx + 0x10]
test edi, edi
je 0x4a08b8
mov dword [esp + 0xd0], edi
mov ebx, dword [0x5ab4f0]
mov ebp, dword [edi + 0x10]
test ebx, ebx
jne 0x4a088a
mov dword [ecx + 0x10], ebp
mov edx, eax
xor eax, eax
call fcn.00453d31
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xc8], eax
mov byte [eax], 0x12
mov ebx, dword [eax + 0xc]
mov ebp, dword [eax + 4]
cmp ebx, 2
jb 0x4a0842
mov ecx, 2
mov esi, dword [0x5ab4f0]
test esi, esi
jne 0x4a081c
mov esi, dword [esp + 0xd8]
mov dword [ebp], esi
mov dword [ebp + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov ebx, dword [0x5ab4f0]
test ebx, ebx
jne 0x4a0809
mov dword [eax + 4], ebp
mov ebx, dword [esp + 0x84]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0x80]
cmp ebp, esi
ja 0x4a07c5
mov ecx, dword [esp + 0x110]
mov edx, ebp
mov ebp, dword [0x5ab4f0]
lea edi, [ecx + ebx*4]
test ebp, ebp
jne 0x4a07be
mov dword [ecx + ebx*4], eax
mov eax, dword [esp + 0x40]
mov ebp, esi
mov esi, edx
mov ebx, ecx
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x60]
jmp 0x4a0571
call fcn.00453b50
jmp 0x4a07a4
lea eax, [0x4d72c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.0043e480
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0xc8]
mov ebx, dword [esp + 0x84]
jmp 0x4a0792
lea edi, [eax + 4]
mov ecx, eax
mov eax, ebp
call fcn.00453b50
mov eax, ecx
jmp 0x4a0776
mov edi, ebp
mov eax, dword [esp + 0xd8]
call fcn.00453b50
lea esi, [ebp + 4]
mov edi, esi
mov eax, edx
call fcn.00453b50
mov eax, dword [esp + 0xc8]
jmp 0x4a075f
lea eax, [0x4d72c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
call fcn.0043e480
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ecx, [eax + 2]
mov eax, dword [esp + 0xc8]
mov edx, dword [esp + 0xc0]
jmp 0x4a0744
lea edx, [ecx + 0x10]
mov eax, edi
mov edi, edx
mov ebx, eax
mov eax, ebp
call fcn.00453b50
lea edx, [0x4d8b00]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.0040eaa0
mov edx, dword [esp + 0xc0]
jmp 0x4a071f
lea eax, [0x4d8b00]
mov dword [esp], eax
call fcn.0040a430
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xc0]
jmp 0x4a0726
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.004a7710
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0xd8]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x50]
mov byte [esp + 0x21], al
mov eax, dword [esp + 0x40]
jmp 0x4a041f
xchg ebp, eax
cmp al, 0x12
xchg ebp, eax
jne 0x4a0941
mov ebp, dword [ebx + 8]
mov esi, dword [ebx + 4]
test ebp, ebp
jle 0x4a0941
mov ebx, dword [esi]
cmp byte [ebx], 2
jne 0x4a0938
mov esi, dword [esp + 0x3c]
xor ebx, ebx
jmp 0x4a03f5
mov esi, dword [esp + 0x3c]
jmp 0x4a03f5
mov esi, dword [esp + 0x3c]
jmp 0x4a03f5
mov ebp, dword [esp + 0xd8]
xor ebx, ebx
jmp 0x4a04ae
mov edx, dword [esp + 0x84]
mov eax, ebx
xor ecx, ecx
xor esi, esi
xor edi, edi
jmp 0x4a097a
inc ecx
mov ebx, dword [esp + 0x84]
mov ebx, edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x10c], ebx
cmp ecx, edx
jg 0x4a0ddb
jge 0x4a09be
jae 0x4a0f9a
mov edx, dword [eax + ecx*4]
movzx ebx, byte [edx]
cmp bl, 3
jne 0x4a09af
cmp dword [edx + 0x18], 1
jne 0x4a09af
mov edx, dword [esp + 0x10c]
jmp 0x4a0969
cmp bl, 4
je 0x4a09a6
cmp bl, 5
je 0x4a09a6
cmp bl, 6
je 0x4a09a6
mov dword [esp + 0x64], ecx
cmp ecx, esi
jne 0x4a0a86
mov edx, dword [esp + 0x84]
cmp ecx, edx
mov ebx, dword [esp + 0x10c]
jge 0x4a0a80
jae 0x4a0f5b
lea esi, [edi + 1]
mov edx, dword [eax + ecx*4]
cmp esi, ebp
ja 0x4a0a2d
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], ebp
mov ebp, dword [0x5ab4f0]
lea esi, [ebx + edi*4]
test ebp, ebp
jne 0x4a0a1e
mov dword [ebx + edi*4], edx
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x3c]
lea esi, [ecx + 1]
mov edi, ebp
mov ebp, edx
mov edx, ebx
jmp 0x4a0969
mov edi, esi
mov ebp, eax
mov eax, edx
call fcn.00453b50
mov eax, ebp
jmp 0x4a0a08
mov dword [esp + 0x78], edi
mov dword [esp + 0xfc], edx
lea eax, [0x4d72c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.0043e480
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea esi, [eax + 1]
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0xfc]
mov edi, dword [esp + 0x78]
jmp 0x4a09f0
mov edx, ebp
mov ebp, edi
jmp 0x4a0a10
lea edx, [esi + 1]
cmp ecx, edx
jne 0x4a0b77
mov edx, dword [esp + 0x84]
cmp esi, edx
jae 0x4a0f91
lea ebx, [edi + 1]
mov esi, dword [eax + esi*4]
cmp ebx, ebp
ja 0x4a0b13
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebp
mov ebx, dword [esp + 0xe0]
lea ebp, [ebx + edi*4]
mov dword [esp + 0xf0], ebp
mov ebp, dword [0x5ab4f0]
test ebp, ebp
jne 0x4a0afd
mov dword [ebx + edi*4], esi
cmp ecx, edx
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
mov edi, esi
jmp 0x4a09da
mov edi, dword [esp + 0xf0]
mov ebp, eax
mov eax, esi
call fcn.00453b50
cmp ecx, edx
mov eax, ebp
jmp 0x4a0aee
mov dword [esp + 0xfc], esi
lea eax, [0x4d72c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x10c]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.0043e480
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x84]
mov esi, dword [esp + 0xfc]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x110]
jmp 0x4a0ac6
mov dword [esp + 0x80], edx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x44], esi
mov ebx, dword [esp + 0x84]
jmp 0x4a0baa
mov ebx, dword [esp + 0x54]
inc ebx
mov ebp, dword [esp + 0x84]
mov ebp, dword [esp + 0x74]
mov esi, edx
mov edx, ebx
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x7c], esi
cmp edx, ecx
jge 0x4a0bef
cmp esi, ebx
jae 0x4a0f88
mov ebp, dword [eax + esi*4]
movzx esi, byte [ebp]
cmp edx, ebx
jae 0x4a0f7f
mov dword [esp + 0x54], edx
mov ebx, dword [eax + edx*4]
movzx edx, byte [ebx]
xchg esi, eax
cmp al, dl
xchg esi, eax
jae 0x4a0bdf
mov edx, dword [esp + 0x54]
jmp 0x4a0b8f
jne 0x4a0be9
mov edx, dword [ebx + 0x18]
cmp dword [ebp + 0x18], edx
jl 0x4a0bd9
mov edx, dword [esp + 0x7c]
jmp 0x4a0b8f
mov edx, dword [esp + 0x44]
cmp edx, ebx
jae 0x4a0f76
mov ebp, dword [eax + edx*4]
mov dword [esp + 0xfc], ebp
lea ebp, [eax + edx*4]
cmp esi, ebx
jae 0x4a0f6d
mov dword [esp + 0xec], ebp
mov ebp, dword [0x5ab4f0]
mov ebx, dword [eax + esi*4]
lea esi, [eax + esi*4]
test ebp, ebp
jne 0x4a0daf
mov dword [eax + edx*4], ebx
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0xfc]
mov dword [eax + ebx*4], ebp
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x80]
jmp 0x4a0c6f
lea esi, [eax + 1]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x64]
mov eax, ecx
mov ecx, ebx
mov ebx, dword [esp + 0x84]
mov edi, dword [esp + 0x3c]
mov ebp, esi
cmp ebp, ecx
jge 0x4a0cda
mov esi, dword [eax + edx*4]
cmp ebp, ebx
jae 0x4a0f64
mov dword [esp + 0x4c], ebp
mov ecx, dword [eax + ebp*4]
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.004a2e40
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x110]
mov edx, dword [ecx + eax*4]
test byte [edx], al
mov ebx, dword [0x5ab4f0]
mov ebp, dword [esp + 0x118]
mov esi, dword [ebp + 0x10]
test ebx, ebx
jne 0x4a0cbd
mov dword [edx + 0x10], esi
mov dword [ebp + 0x10], edx
jmp 0x4a0c4c
lea edi, [edx + 0x10]
mov ebx, eax
mov eax, esi
call fcn.00453b50
lea edi, [ebp + 0x10]
mov eax, edx
call fcn.00453b50
mov eax, ebx
jmp 0x4a0c4c
mov ecx, dword [eax + edx*4]
mov dword [esp], ecx
call fcn.0049f630
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x110]
mov edx, dword [ebx + edx*4]
mov ebp, dword [esp + 0x74]
cmp ecx, ebp
ja 0x4a0d5d
mov esi, dword [esp + 0x10c]
mov dword [esp + 0x40], ebp
mov edi, ebx
mov ebx, dword [0x5ab4f0]
lea ebp, [esi + eax*4]
test ebx, ebx
jne 0x4a0d3f
mov dword [esi + eax*4], edx
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x84]
cmp eax, edx
mov eax, edi
mov ebp, dword [esp + 0x40]
mov ebx, esi
mov esi, ecx
mov ecx, dword [esp + 0x64]
jmp 0x4a0af6
mov eax, edi
mov edi, ebp
mov ebx, eax
mov eax, edx
call fcn.00453b50
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x84]
cmp eax, edx
mov edi, ebx
jmp 0x4a0d2c
mov dword [esp + 0xfc], edx
lea edx, [0x4d72c0]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.0043e480
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0xfc]
mov ebx, dword [esp + 0x110]
jmp 0x4a0d09
mov ebp, edi
mov edi, dword [esp + 0xec]
mov eax, ebx
call fcn.00453b50
mov edi, esi
mov eax, dword [esp + 0xfc]
call fcn.00453b50
mov eax, dword [esp + 0x110]
mov edi, ebp
jmp 0x4a0c3c
mov eax, ebx
xor ecx, ecx
xor edx, edx
jmp 0x4a0de7
mov ebx, ecx
mov ecx, esi
cmp ecx, edi
jge 0x4a0efa
mov dword [esp + 0x110], ebx
lea esi, [ecx + 1]
cmp esi, edi
jge 0x4a0ef3
cmp ecx, edi
jae 0x4a0f52
mov ebx, dword [eax + ecx*4]
cmp byte [ebx], 2
jne 0x4a0eec
cmp esi, edi
jae 0x4a0f49
mov ebx, dword [eax + ecx*4 + 4]
cmp byte [ebx], 2
jne 0x4a0e2f
mov ecx, dword [esp + 0x110]
jmp 0x4a0de3
cmp ecx, edi
jae 0x4a0f40
mov dword [esp + 0x70], esi
lea ebx, [edx + 1]
mov esi, dword [eax + ecx*4]
cmp ebx, ebp
ja 0x4a0e92
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x84], ebx
lea ebx, [ecx + edx*4]
mov dword [esp + 0xe8], ebx
mov ebx, dword [0x5ab4f0]
test ebx, ebx
jne 0x4a0e7a
mov dword [ecx + edx*4], esi
mov esi, dword [esp + 0x70]
mov edx, dword [esp + 0x84]
jmp 0x4a0de3
mov edx, edi
mov edi, dword [esp + 0xe8]
mov ebx, eax
mov eax, esi
call fcn.00453b50
mov eax, ebx
mov edi, edx
jmp 0x4a0e6a
mov dword [esp + 0x6c], edx
mov dword [esp + 0xfc], esi
lea eax, [0x4d72c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.0043e480
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x10c]
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0xfc]
mov edi, dword [esp + 0x3c]
jmp 0x4a0e4c
cmp ecx, edi
jmp 0x4a0e31
cmp ecx, edi
jmp 0x4a0e31
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], edx
mov dword [esp + 0x130], ebp
add esp, 0x114
ret
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
mov eax, dword [esp + 0x124]
mov dword [esp + 0x130], eax
add esp, 0x114
ret
mov eax, ecx
mov ecx, edi
call fcn.00453bd0
mov eax, esi
mov ecx, edi
call fcn.00453bd0
mov eax, ecx
mov ecx, edi
call fcn.00453bd0
mov eax, ecx
mov ecx, edx
call fcn.00453bd0
mov eax, ebp
mov ecx, ebx
call fcn.00453bd0
mov eax, esi
mov ecx, ebx
call fcn.00453bd0
mov eax, edx
mov ecx, ebx
call fcn.00453bd0
mov eax, edx
mov ecx, ebx
call fcn.00453bd0
mov eax, esi
mov ecx, ebx
call fcn.00453bd0
mov eax, esi
mov ecx, edx
call fcn.00453bd0
mov eax, ecx
mov ecx, edx
call fcn.00453bd0
mov eax, edi
mov ecx, edx
call fcn.00453c30
mov ecx, edx
mov edx, eax
call fcn.00453c10
mov eax, edi
mov ecx, ebx
call fcn.00453bd0
mov eax, edi
mov ecx, ebp
call fcn.00453bd0
xor eax, eax
mov ecx, ebx
call fcn.00453bd0
mov eax, edx
mov ecx, esi
call fcn.00453bd0
mov ecx, edi
call fcn.00453c30
mov ecx, edi
call fcn.00453c10
mov eax, edx
mov ecx, esi
call fcn.00453bd0
mov eax, edi
call fcn.00453bd0
mov ecx, ebx
mov edx, ebp
call fcn.00453c10
mov eax, ebx
mov ecx, ebp
call fcn.00453bd0
mov eax, esi
call fcn.00453bd0
nop
call fcn.00452310
jmp fcn.0049fbe0