Function at 0x49ef80
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 0x4a03b1
sub esp, 0x114
mov ecx, dword [esp + 0x120]
cmp ecx, 2
jl 0x4a02b6
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 0x49f090
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 0x49f051
mov esi, dword [esp + 0x28]
cmp ebx, esi
jge 0x49f051
cmp ebx, ebp
jae 0x4a03a0
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 0x49effb
test ebx, ebx
jle 0x49f111
mov ebp, dword [esp + 0x34]
cmp ebx, ebp
ja 0x4a0397
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 0x49f718
mov dword [esp + 0x68], esi
jge 0x49f704
jae 0x4a03a9
mov ebx, dword [edx + esi*4]
cmp byte [ebx], 0x12
jne 0x49f0c7
mov ebp, dword [ebx + 8]
mov esi, dword [ebx + 4]
test ebp, ebp
jle 0x49f0c7
mov ebx, dword [esi]
cmp byte [ebx], 3
je 0x49f6e2
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 0x49f111
mov dword [esp + 0xb0], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xb0]
jmp 0x49f01c
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 0x49f15d
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 0x49f06a
mov dword [esp + 0x58], ebp
mov dword [esp + 0x104], esi
lea ebp, [edi + 1]
cmp ebx, ebp
jne 0x49f27b
cmp edi, ecx
jae 0x4a0390
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 0x49f214
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 [0x5af4d0]
test esi, esi
jne 0x49f1fe
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 0x49f13e
mov ebp, edi
mov edi, dword [esp + 0x100]
mov esi, eax
mov eax, ebp
call fcn.00453b50
mov eax, esi
jmp 0x49f1d5
mov dword [esp + 0xfc], edi
lea eax, [0x4d9320]
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 0x49f1af
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 0x49f6b6
mov ecx, dword [0x5af4d0]
mov ebx, dword [esi + 0x10]
test ecx, ecx
jne 0x49f673
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 0x49f640
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 [0x5af4d0]
test edx, edx
jne 0x49f628
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 0x49f387
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 0x49f3dd
cmp edx, esi
jae 0x4a0387
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.004a03c0
mov eax, dword [0x5af4d0]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x11c]
lea edi, [ebx + edx*4]
test eax, eax
jne 0x49f3d1
mov dword [ebx + edx*4], ecx
jmp 0x49f357
mov eax, ecx
call fcn.00453b50
jmp 0x49f357
mov edx, dword [esp + 0x124]
cmp edi, edx
ja 0x4a0380
mov eax, dword [esp + 0x48]
cmp eax, edi
ja 0x4a0379
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.0049eba0
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 0x49f60a
mov dword [esp + 0xcc], edi
mov ebx, dword [0x5af4d0]
mov ebp, dword [edi + 0x10]
test ebx, ebx
jne 0x49f5da
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 0x49f592
mov ecx, 2
mov esi, dword [0x5af4d0]
test esi, esi
jne 0x49f56c
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 [0x5af4d0]
test ebp, ebp
jne 0x49f559
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x3c]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0x40]
cmp ebp, esi
ja 0x49f518
mov ecx, dword [esp + 0x10c]
mov edx, ebp
mov ebp, dword [0x5af4d0]
lea edi, [ecx + ebx*4]
test ebp, ebp
jne 0x49f511
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 0x49f1dd
call fcn.00453b50
jmp 0x49f4f1
lea eax, [0x4d9320]
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 0x49f4df
lea edi, [eax + 4]
mov ecx, eax
mov eax, ebx
call fcn.00453b50
mov eax, ecx
jmp 0x49f4c9
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 0x49f4b2
lea eax, [0x4d9320]
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 0x49f498
mov eax, edi
mov edi, dword [esp + 0xf8]
mov ecx, eax
mov eax, ebp
call fcn.00453b50
lea edx, [0x4dab60]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.0040eaa0
mov edx, dword [esp + 0xbc]
jmp 0x49f473
lea eax, [0x4dab60]
mov dword [esp], eax
call fcn.0040a430
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xbc]
jmp 0x49f47a
lea edi, [ecx + 0x14]
mov edx, eax
mov eax, dword [esp + 0x108]
call fcn.00453b50
mov eax, edx
jmp 0x49f338
lea edx, [0x4cbaa0]
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 0x49f2e0
mov dword [esp + 0xd4], esi
mov edi, edx
mov eax, ebx
call fcn.00453b50
lea ecx, [0x4dab60]
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 0x49f2bb
lea eax, [0x4dab60]
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 0x49f2bb
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 0x49f0de
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor ebx, ebx
mov word [esp + 0x26], bx
xor ebx, ebx
jmp 0x49f12e
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 0x49f758
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 0x49fcf8
mov dword [esp + 0x60], edx
mov dword [esp + 0x80], ebp
mov dword [esp + 0x50], edi
jge 0x49fcea
jae 0x4a0370
mov ebx, dword [ecx + edx*4]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x49fcb5
xor ebx, ebx
mov dword [esp + 0xb8], ebx
mov ebp, dword [esp + 0xd8]
test ebp, ebp
jne 0x49fc76
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 0x49f847
movzx esi, byte [ebp]
xchg esi, eax
cmp al, 3
xchg esi, eax
jne 0x49f7ee
cmp dword [ebp + 0x18], 1
jne 0x49f7ee
mov ebx, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
jmp 0x49f73c
xchg esi, eax
cmp al, 4
xchg esi, eax
je 0x49f7db
xchg esi, eax
cmp al, 5
xchg esi, eax
je 0x49f7db
xchg esi, eax
cmp al, 6
xchg esi, eax
je 0x49f7db
xchg esi, eax
cmp al, 0x11
xchg esi, eax
jne 0x49f847
mov esi, dword [ebp + 0x2c]
cmp dword [ebp + 0x28], esi
jne 0x49f847
mov esi, dword [ebp + 4]
mov ebx, dword [ebp + 8]
test ebx, ebx
jbe 0x4a0367
mov ebx, dword [esi]
movzx esi, byte [ebx]
xchg esi, eax
cmp al, 3
xchg esi, eax
jne 0x49f832
cmp dword [ebx + 0x18], 1
je 0x49f7db
xchg esi, eax
cmp al, 4
xchg esi, eax
je 0x49f7db
xchg esi, eax
cmp al, 5
xchg esi, eax
je 0x49f7db
xchg esi, eax
cmp al, 6
xchg esi, eax
je 0x49f7db
mov ebx, dword [esp + 0xb8]
cmp edx, edi
jne 0x49f889
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 0x49f73c
mov dword [esp + 0xe4], ebx
lea esi, [edi + 1]
cmp edx, esi
jne 0x49f999
mov ebp, dword [esp + 0x3c]
cmp edi, ebp
jae 0x4a035e
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 0x49f935
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 [0x5af4d0]
test ebp, ebp
jne 0x49f91f
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 0x49f867
mov ebp, edi
mov edi, dword [esp + 0xf4]
mov esi, eax
mov eax, ebp
call fcn.00453b50
mov eax, esi
jmp 0x49f906
mov dword [esp + 0xfc], edi
lea eax, [0x4d9320]
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 0x49f8dd
mov esi, dword [esp + 0x118]
jmp 0x49f9d5
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 0x49fa35
mov ebx, dword [esp + 0x3c]
cmp edi, ebx
jae 0x4a0355
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.004a05e0
mov eax, dword [0x5af4d0]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x10c]
lea edi, [ebx + edx*4]
test eax, eax
jne 0x49fa29
mov dword [ebx + edx*4], ecx
jmp 0x49f9a2
mov eax, ecx
call fcn.00453b50
jmp 0x49f9a2
cmp edx, eax
ja 0x4a034c
mov edi, dword [esp + 0x50]
cmp edi, edx
ja 0x4a0343
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.0049eba0
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 0x49fc58
mov dword [esp + 0xd0], edi
mov ebx, dword [0x5af4d0]
mov ebp, dword [edi + 0x10]
test ebx, ebx
jne 0x49fc2a
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 0x49fbe2
mov ecx, 2
mov esi, dword [0x5af4d0]
test esi, esi
jne 0x49fbbc
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 [0x5af4d0]
test ebx, ebx
jne 0x49fba9
mov dword [eax + 4], ebp
mov ebx, dword [esp + 0x84]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0x80]
cmp ebp, esi
ja 0x49fb65
mov ecx, dword [esp + 0x110]
mov edx, ebp
mov ebp, dword [0x5af4d0]
lea edi, [ecx + ebx*4]
test ebp, ebp
jne 0x49fb5e
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 0x49f911
call fcn.00453b50
jmp 0x49fb44
lea eax, [0x4d9320]
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 0x49fb32
lea edi, [eax + 4]
mov ecx, eax
mov eax, ebp
call fcn.00453b50
mov eax, ecx
jmp 0x49fb16
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 0x49faff
lea eax, [0x4d9320]
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 0x49fae4
lea edx, [ecx + 0x10]
mov eax, edi
mov edi, edx
mov ebx, eax
mov eax, ebp
call fcn.00453b50
lea edx, [0x4dab60]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.0040eaa0
mov edx, dword [esp + 0xc0]
jmp 0x49fabf
lea eax, [0x4dab60]
mov dword [esp], eax
call fcn.0040a430
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xc0]
jmp 0x49fac6
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.004a6ab0
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 0x49f7bf
xchg ebp, eax
cmp al, 0x12
xchg ebp, eax
jne 0x49fce1
mov ebp, dword [ebx + 8]
mov esi, dword [ebx + 4]
test ebp, ebp
jle 0x49fce1
mov ebx, dword [esi]
cmp byte [ebx], 2
jne 0x49fcd8
mov esi, dword [esp + 0x3c]
xor ebx, ebx
jmp 0x49f795
mov esi, dword [esp + 0x3c]
jmp 0x49f795
mov esi, dword [esp + 0x3c]
jmp 0x49f795
mov ebp, dword [esp + 0xd8]
xor ebx, ebx
jmp 0x49f84e
mov edx, dword [esp + 0x84]
mov eax, ebx
xor ecx, ecx
xor esi, esi
xor edi, edi
jmp 0x49fd1a
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 0x4a017b
jge 0x49fd5e
jae 0x4a033a
mov edx, dword [eax + ecx*4]
movzx ebx, byte [edx]
cmp bl, 3
jne 0x49fd4f
cmp dword [edx + 0x18], 1
jne 0x49fd4f
mov edx, dword [esp + 0x10c]
jmp 0x49fd09
cmp bl, 4
je 0x49fd46
cmp bl, 5
je 0x49fd46
cmp bl, 6
je 0x49fd46
mov dword [esp + 0x64], ecx
cmp ecx, esi
jne 0x49fe26
mov edx, dword [esp + 0x84]
cmp ecx, edx
mov ebx, dword [esp + 0x10c]
jge 0x49fe20
jae 0x4a02fb
lea esi, [edi + 1]
mov edx, dword [eax + ecx*4]
cmp esi, ebp
ja 0x49fdcd
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], ebp
mov ebp, dword [0x5af4d0]
lea esi, [ebx + edi*4]
test ebp, ebp
jne 0x49fdbe
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 0x49fd09
mov edi, esi
mov ebp, eax
mov eax, edx
call fcn.00453b50
mov eax, ebp
jmp 0x49fda8
mov dword [esp + 0x78], edi
mov dword [esp + 0xfc], edx
lea eax, [0x4d9320]
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 0x49fd90
mov edx, ebp
mov ebp, edi
jmp 0x49fdb0
lea edx, [esi + 1]
cmp ecx, edx
jne 0x49ff17
mov edx, dword [esp + 0x84]
cmp esi, edx
jae 0x4a0331
lea ebx, [edi + 1]
mov esi, dword [eax + esi*4]
cmp ebx, ebp
ja 0x49feb3
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 [0x5af4d0]
test ebp, ebp
jne 0x49fe9d
mov dword [ebx + edi*4], esi
cmp ecx, edx
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
mov edi, esi
jmp 0x49fd7a
mov edi, dword [esp + 0xf0]
mov ebp, eax
mov eax, esi
call fcn.00453b50
cmp ecx, edx
mov eax, ebp
jmp 0x49fe8e
mov dword [esp + 0xfc], esi
lea eax, [0x4d9320]
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 0x49fe66
mov dword [esp + 0x80], edx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x44], esi
mov ebx, dword [esp + 0x84]
jmp 0x49ff4a
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 0x49ff8f
cmp esi, ebx
jae 0x4a0328
mov ebp, dword [eax + esi*4]
movzx esi, byte [ebp]
cmp edx, ebx
jae 0x4a031f
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 0x49ff7f
mov edx, dword [esp + 0x54]
jmp 0x49ff2f
jne 0x49ff89
mov edx, dword [ebx + 0x18]
cmp dword [ebp + 0x18], edx
jl 0x49ff79
mov edx, dword [esp + 0x7c]
jmp 0x49ff2f
mov edx, dword [esp + 0x44]
cmp edx, ebx
jae 0x4a0316
mov ebp, dword [eax + edx*4]
mov dword [esp + 0xfc], ebp
lea ebp, [eax + edx*4]
cmp esi, ebx
jae 0x4a030d
mov dword [esp + 0xec], ebp
mov ebp, dword [0x5af4d0]
mov ebx, dword [eax + esi*4]
lea esi, [eax + esi*4]
test ebp, ebp
jne 0x4a014f
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 0x4a000f
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 0x4a007a
mov esi, dword [eax + edx*4]
cmp ebp, ebx
jae 0x4a0304
mov dword [esp + 0x4c], ebp
mov ecx, dword [eax + ebp*4]
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.004a21e0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x110]
mov edx, dword [ecx + eax*4]
test byte [edx], al
mov ebx, dword [0x5af4d0]
mov ebp, dword [esp + 0x118]
mov esi, dword [ebp + 0x10]
test ebx, ebx
jne 0x4a005d
mov dword [edx + 0x10], esi
mov dword [ebp + 0x10], edx
jmp 0x49ffec
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 0x49ffec
mov ecx, dword [eax + edx*4]
mov dword [esp], ecx
call fcn.0049e9d0
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 0x4a00fd
mov esi, dword [esp + 0x10c]
mov dword [esp + 0x40], ebp
mov edi, ebx
mov ebx, dword [0x5af4d0]
lea ebp, [esi + eax*4]
test ebx, ebx
jne 0x4a00df
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 0x49fe96
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 0x4a00cc
mov dword [esp + 0xfc], edx
lea edx, [0x4d9320]
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 0x4a00a9
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 0x49ffdc
mov eax, ebx
xor ecx, ecx
xor edx, edx
jmp 0x4a0187
mov ebx, ecx
mov ecx, esi
cmp ecx, edi
jge 0x4a029a
mov dword [esp + 0x110], ebx
lea esi, [ecx + 1]
cmp esi, edi
jge 0x4a0293
cmp ecx, edi
jae 0x4a02f2
mov ebx, dword [eax + ecx*4]
cmp byte [ebx], 2
jne 0x4a028c
cmp esi, edi
jae 0x4a02e9
mov ebx, dword [eax + ecx*4 + 4]
cmp byte [ebx], 2
jne 0x4a01cf
mov ecx, dword [esp + 0x110]
jmp 0x4a0183
cmp ecx, edi
jae 0x4a02e0
mov dword [esp + 0x70], esi
lea ebx, [edx + 1]
mov esi, dword [eax + ecx*4]
cmp ebx, ebp
ja 0x4a0232
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x84], ebx
lea ebx, [ecx + edx*4]
mov dword [esp + 0xe8], ebx
mov ebx, dword [0x5af4d0]
test ebx, ebx
jne 0x4a021a
mov dword [ecx + edx*4], esi
mov esi, dword [esp + 0x70]
mov edx, dword [esp + 0x84]
jmp 0x4a0183
mov edx, edi
mov edi, dword [esp + 0xe8]
mov ebx, eax
mov eax, esi
call fcn.00453b50
mov eax, ebx
mov edi, edx
jmp 0x4a020a
mov dword [esp + 0x6c], edx
mov dword [esp + 0xfc], esi
lea eax, [0x4d9320]
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 0x4a01ec
cmp ecx, edi
jmp 0x4a01d1
cmp ecx, edi
jmp 0x4a01d1
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.0049ef80