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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x128]
cmp eax, dword [ecx + 8]
jbe 0x4e59bb
sub esp, 0x1a8
mov ecx, dword [esp + 0x1b4]
cmp ecx, 2
jl 0x4e5991
xor eax, eax
mov edx, eax
xor ebx, ebx
mov ebp, edx
mov esi, ebp
xor edi, edi
mov dword [esp + 0x40], esi
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0xf0], eax
mov eax, esi
mov dword [esp + 0x64], eax
mov dword [esp + 0x38], edx
mov word [esp + 0x24], bx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], esi
mov dword [esp + 0xec], edi
cmp eax, ecx
jg 0x4e4ba9
jge 0x4e4b9c
jae 0x4e4b95
mov ecx, dword [esp + 0x1b0]
mov ecx, dword [ecx + eax*4]
movzx edx, byte [ecx]
cmp dl, 0x12
jne 0x4e432d
mov edx, dword [ecx + 8]
mov ebp, dword [ecx + 4]
test edx, edx
jle 0x4e432d
mov ecx, dword [ebp]
movzx edx, byte [ecx]
cmp dl, 3
je 0x4e4b72
xor ecx, ecx
xor edx, edx
xor ebp, ebp
mov dword [esp + 0x9c], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x9c]
mov word [esp + 0x22], cx
mov dword [esp + 0xe8], edx
mov dword [esp + 0x2c], ebp
cmp cx, bx
jne 0x4e4b69
mov dword [esp + 0x94], eax
xor eax, eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x30]
cmp ecx, ebp
jge 0x4e43da
mov ebx, dword [esp + 0x28]
cmp ecx, ebx
jge 0x4e43de
cmp ecx, ebp
jae 0x4e4b62
mov ebp, dword [edi + ecx*4]
cmp ecx, ebx
jae 0x4e4b62
mov edx, dword [edx + ecx*4]
cmp ebp, edx
jne 0x4e43de
inc ecx
mov edx, dword [esp + 0x30]
mov ebp, dword [esp + 0xe8]
mov edx, ebp
movzx ebx, word [esp + 0x24]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x3c], ecx
movzx ecx, word [esp + 0x22]
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x30]
cmp ecx, ebp
jl 0x4e438c
mov ebx, dword [esp + 0x28]
test ecx, ecx
jle 0x4e440d
cmp ecx, esi
ja 0x4e4406
mov edx, dword [esp + 0x38]
movzx ebx, word [esp + 0x24]
mov ebp, dword [esp + 0x44]
inc eax
mov dword [esp + 0x44], ebp
mov ebp, ecx
mov ecx, dword [esp + 0x1b4]
jmp 0x4e42de
call fcn.004246e0
ud2
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0x2c]
movzx ebp, word [esp + 0x22]
mov dword [esp + 0x58], ebx
mov dword [esp + 0xe8], ecx
mov dword [esp + 0x5c], edx
mov word [esp + 0x26], bp
mov esi, ecx
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jne 0x4e4464
mov ecx, dword [esp + 0xf0]
mov edi, dword [esp + 0x44]
mov edx, eax
mov ebx, ebp
mov esi, dword [esp + 0x5c]
mov ebp, edi
mov dword [esp + 0xf0], ecx
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0xe8]
jmp 0x4e43f3
lea edx, [ecx + 1]
cmp eax, edx
jne 0x4e459a
mov edx, dword [esp + 0x1b4]
cmp ecx, edx
jae 0x4e4593
mov edi, edx
mov edx, dword [esp + 0x1b0]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0xe4], ecx
mov edx, dword [esp + 0x40]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x44]
cmp ebx, ebp
jg 0x4e4536
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebp
mov ebx, dword [esp + 0xd0]
lea ebp, [ebx + edx*4]
mov dword [esp + 0xe0], ebp
mov ebp, dword [0x884700]
test ebp, ebp
jne 0x4e4508
mov dword [ebx + edx*4], ecx
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
movzx ebp, word [esp + 0x26]
mov edi, edx
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x5c]
mov ecx, ebx
mov ebx, dword [esp + 0x58]
jmp 0x4e4446
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0xd0]
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0x1b4]
jmp 0x4e44e6
lea edi, [0x6e3be0]
mov dword [esp], edi
mov edi, dword [esp + 0xf0]
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00437660
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0x1b4]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x64]
jmp 0x4e44c0
call fcn.00424680
ud2
mov edx, dword [esp + 0x1ac]
mov ebx, dword [edx + 0x10]
mov dword [esp + 0xb8], ebx
test ebx, ebx
je 0x4e4b3e
mov ebp, dword [ebx + 0x10]
mov ecx, dword [0x884700]
lea ebx, [edx + 0x10]
test ecx, ecx
jne 0x4e4b14
mov dword [edx + 0x10], ebp
lea edi, [esp + 0x16c]
mov ebx, eax
xor eax, eax
call fcn.0044a371
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x4e4ade
mov edi, dword [esp + 0xb8]
lea esi, [esp + 0x16c]
call fcn.0044a7fa
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xcc], ecx
mov byte [ecx], 3
movzx ebp, word [esp + 0x24]
mov word [ecx + 2], bp
mov ebp, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x14]
mov edi, dword [esp + 0x30]
cmp edi, ebp
ja 0x4e4a97
mov dword [esp + 0xdc], esi
mov dword [esp + 0x78], ebp
cmp edi, ebp
ja 0x4e4a90
mov dword [esp], esi
mov eax, dword [esp + 0xec]
mov dword [esp + 4], eax
shl edi, 2
mov dword [esp + 8], edi
call fcn.0044aa80
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xcc]
mov dword [ecx + 0x18], eax
mov edx, dword [esp + 0x78]
mov dword [ecx + 0x1c], edx
mov edx, dword [0x884700]
lea ebx, [ecx + 0x14]
test edx, edx
jne 0x4e4a6d
mov edx, dword [esp + 0xdc]
mov dword [ecx + 0x14], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x50], edx
mov ebx, dword [esp + 0x64]
cmp edx, ebx
jge 0x4e4701
mov ebp, dword [esp + 0x1b4]
cmp edx, ebp
jae 0x4e4a66
mov esi, dword [esp + 0x1b0]
mov edi, dword [esi + edx*4]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x1ac]
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.004e59d0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x1b0]
lea edx, [ecx + eax*4]
mov ebx, dword [esp + 0xc]
mov ebp, dword [0x884700]
test ebp, ebp
jne 0x4e4a4a
mov dword [ecx + eax*4], ebx
lea edx, [eax + 1]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x50], edx
mov ebx, dword [esp + 0x64]
cmp edx, ebx
jl 0x4e4694
mov eax, dword [esp + 0x38]
cmp eax, ebx
ja 0x4e4a43
mov edx, dword [esp + 0x1b8]
cmp ebx, edx
ja 0x4e4a43
mov ebp, dword [esp + 0x1ac]
mov dword [esp], ebp
sub edx, eax
lea edi, [edx - 1]
sar edi, 0x1f
shl eax, 2
xor edi, 0xffffffff
and eax, edi
mov edi, dword [esp + 0x1b0]
add eax, edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
sub ebx, eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov byte [esp + 0x10], 0x13
call fcn.004e3da0
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0x1ac]
mov edx, dword [ecx + 0x10]
mov dword [esp + 0xc0], edx
test edx, edx
je 0x4e4a23
mov ebx, dword [edx + 0x10]
mov ebp, dword [0x884700]
mov esi, edx
lea edx, [ecx + 0x10]
test ebp, ebp
jne 0x4e49fd
mov dword [ecx + 0x10], ebx
lea edi, [esp + 0x130]
mov edx, eax
xor eax, eax
call fcn.0044a371
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x4e49d2
mov edi, esi
lea esi, [esp + 0x130]
call fcn.0044a7fa
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0xc8], ecx
mov byte [ecx], 0x12
mov ebx, dword [ecx + 0xc]
mov ebp, dword [ecx + 4]
cmp ebx, 2
jl 0x4e4988
mov esi, 2
mov dword [esp + 0xe0], ebp
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], ebx
mov edi, ebx
mov ebx, dword [0x884700]
test ebx, ebx
jne 0x4e4951
mov ebx, dword [esp + 0xcc]
mov dword [ebp], ebx
mov ebx, dword [0x884700]
lea ecx, [ebp + 4]
test ebx, ebx
jne 0x4e492f
mov dword [ebp + 4], edx
mov ecx, dword [esp + 0xc8]
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], edi
mov edx, dword [0x884700]
lea ebx, [ecx + 4]
test edx, edx
jne 0x4e4915
mov dword [ecx + 4], ebp
mov edx, dword [esp + 0x40]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x44]
cmp ebx, ebp
jg 0x4e48cf
mov esi, dword [esp + 0xf0]
mov dword [esp + 0xd0], esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebp
mov edi, ebx
lea ebx, [esi + edx*4]
mov dword [esp + 0xe0], ebx
mov ebx, dword [0x884700]
test ebx, ebx
jne 0x4e48a9
mov dword [esi + edx*4], ecx
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0x1b4]
mov ecx, dword [esp + 0x40]
mov edx, ebp
mov ebx, dword [esp + 0xd0]
jmp 0x4e44ee
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.0040d5a0
xor eax, eax
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0x40]
jmp 0x4e4885
lea esi, [0x6e3be0]
mov dword [esp], esi
mov esi, dword [esp + 0xf0]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00437660
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [eax + 1]
xor eax, eax
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x40]
jmp 0x4e485d
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.0040d5a0
xor eax, eax
mov ecx, dword [esp + 0xc8]
jmp 0x4e4847
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.0040d5a0
xor eax, eax
mov ebp, dword [esp + 0xe0]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x74]
jmp 0x4e4826
mov dword [esp], ebp
mov ebx, dword [esp + 0xcc]
mov dword [esp + 4], ebx
call fcn.0040d5a0
xor eax, eax
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xa8]
mov ebp, dword [esp + 0xe0]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x74]
jmp 0x4e4812
lea esi, [0x6e3be0]
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
call fcn.00437660
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea esi, [eax + 2]
xor eax, eax
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xa8]
jmp 0x4e47e9
lea ecx, [0x6eb8c0]
mov dword [esp], ecx
mov dword [esp + 4], esi
lea ecx, [esp + 0x130]
mov dword [esp + 8], ecx
call fcn.0040d6b0
xor eax, eax
mov edx, dword [esp + 0xa8]
jmp 0x4e47c4
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.0040d5a0
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x1ac]
mov esi, dword [esp + 0xc0]
jmp 0x4e4798
lea edx, [0x6eb8c0]
mov dword [esp], edx
call fcn.0040cd70
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0xa8]
jmp 0x4e47cb
call fcn.004246e0
ud2
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.0040d5a0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x1b0]
jmp 0x4e46e7
call fcn.00424680
ud2
mov dword [esp], ebx
mov edx, dword [esp + 0xdc]
mov dword [esp + 4], edx
call fcn.0040d5a0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xcc]
jmp 0x4e4684
call fcn.004246e0
ud2
lea eax, [0x6b42e0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edi
call fcn.00437660
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
xor eax, eax
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x1ac]
mov ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x30]
jmp 0x4e4627
lea ecx, [0x6eb8c0]
mov dword [esp], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
lea ebp, [esp + 0x16c]
mov dword [esp + 8], ebp
call fcn.0040d6b0
xor eax, eax
mov edx, dword [esp + 0x1ac]
mov ebx, dword [esp + 0x64]
jmp 0x4e45fb
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.0040d5a0
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x1ac]
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0xec]
jmp 0x4e45ca
lea ebx, [0x6eb8c0]
mov dword [esp], ebx
call fcn.0040cd70
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0x1ac]
mov ebx, dword [esp + 0x64]
jmp 0x4e4602
call fcn.00424680
ud2
mov ebx, dword [esp + 0x28]
jmp 0x4e440d
movzx edx, word [ecx + 2]
mov ebp, dword [ecx + 0x14]
mov esi, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x18]
and edx, 1
mov dword [esp + 0x28], ecx
mov ecx, edx
mov edx, ebp
mov ebp, esi
mov esi, dword [esp + 0x34]
jmp 0x4e4353
call fcn.00424680
ud2
xor ebx, ebx
xor ecx, ecx
xor edx, edx
xor ebp, ebp
jmp 0x4e441d
xor eax, eax
xor ecx, ecx
xor edx, edx
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0xf0]
xor esi, esi
mov dword [esp + 0x60], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0xc4], edx
mov dword [esp + 0x78], ebx
mov dword [esp + 0xec], ebp
mov dword [esp + 0x74], esi
mov edi, dword [esp + 0x40]
cmp eax, edi
jg 0x4e528f
jge 0x4e5281
jae 0x4e527a
mov ebp, dword [esp + 0xf0]
mov ebx, dword [ebp + eax*4]
movzx esi, byte [ebx]
xchg esi, eax
cmp al, 2
xchg esi, eax
jne 0x4e5236
xor ebx, ebx
mov dword [esp + 0xa4], ebx
test edx, edx
jne 0x4e5118
mov dword [esp + 0xd4], ebx
cmp eax, ecx
jne 0x4e4c4c
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0xec]
mov edi, dword [esp + 0x60]
inc edi
mov ebp, esi
mov esi, edx
mov edx, ebx
mov ebx, ecx
mov ecx, eax
mov eax, edi
jmp 0x4e4bbc
lea esi, [ecx + 1]
cmp eax, esi
jne 0x4e4d65
cmp ecx, edi
jae 0x4e4d5e
mov ecx, dword [ebp + ecx*4]
mov dword [esp + 0xe4], ecx
mov edx, dword [esp + 0x74]
lea esi, [edx + 1]
mov ebp, dword [esp + 0x78]
cmp esi, ebp
jg 0x4e4d04
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], ebp
mov edi, dword [esp + 0xd0]
lea eax, [edi + edx*4]
mov dword [esp + 0xe0], eax
mov eax, dword [0x884700]
test eax, eax
jne 0x4e4cd9
mov dword [edi + edx*4], ecx
mov eax, dword [esp + 0x60]
mov ecx, ebp
mov edx, esi
mov esi, edi
mov ebp, dword [esp + 0xf0]
mov edi, dword [esp + 0x40]
jmp 0x4e4c36
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0xd0]
jmp 0x4e4cbf
lea edi, [0x6e3be0]
mov dword [esp], edi
mov edi, dword [esp + 0xec]
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00437660
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea esi, [ecx + 1]
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0xd4]
mov edi, dword [esp + 0x40]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x60]
jmp 0x4e4c99
call fcn.00424680
ud2
mov esi, ecx
mov dword [esp + 0x54], ecx
cmp ecx, eax
jge 0x4e4de1
cmp ecx, edi
jae 0x4e5111
mov ebx, dword [ebp + ecx*4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x1ac]
mov dword [esp], ebx
cmp ecx, esi
setne dl
mov byte [esp + 8], dl
call fcn.004e5c60
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0xf0]
lea edx, [ecx + eax*4]
mov ebx, dword [esp + 0xc]
mov ebp, dword [0x884700]
test ebp, ebp
jne 0x4e50f5
mov dword [ecx + eax*4], ebx
inc eax
mov edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0xd4]
mov ebp, ecx
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x40]
mov ecx, eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x54], ecx
cmp ecx, eax
jl 0x4e4d6f
cmp esi, eax
ja 0x4e50ee
mov ecx, dword [esp + 0x44]
cmp eax, ecx
ja 0x4e50ee
mov edi, dword [esp + 0x1ac]
mov dword [esp], edi
sub ecx, esi
shl esi, 2
lea ebx, [ecx - 1]
sar ebx, 0x1f
xor ebx, 0xffffffff
and esi, ebx
lea ebx, [esi + ebp]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x38]
sub eax, ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov byte [esp + 0x10], 0x13
call fcn.004e3da0
mov eax, dword [esp + 0x14]
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0x1ac]
mov edx, dword [ecx + 0x10]
mov dword [esp + 0xb0], edx
test edx, edx
je 0x4e50ce
mov ebx, dword [0x884700]
mov ebp, dword [edx + 0x10]
mov esi, edx
lea edx, [ecx + 0x10]
test ebx, ebx
jne 0x4e50a8
mov dword [ecx + 0x10], ebp
lea edi, [esp + 0xf4]
mov edx, eax
xor eax, eax
call fcn.0044a371
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x4e507d
mov edi, esi
lea esi, [esp + 0xf4]
call fcn.0044a7fa
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0xb4], ecx
mov byte [ecx], 0x12
mov ebx, dword [ecx + 0xc]
mov ebp, dword [ecx + 4]
cmp ebx, 2
jl 0x4e5033
mov esi, 2
mov dword [esp + 0xe0], ebp
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], ebx
mov edi, dword [0x884700]
test edi, edi
jne 0x4e4ffc
mov edi, dword [esp + 0xc4]
mov dword [ebp], edi
mov edi, dword [0x884700]
lea eax, [ebp + 4]
test edi, edi
jne 0x4e4fd5
mov dword [ebp + 4], edx
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], ebx
mov eax, dword [0x884700]
lea edx, [ecx + 4]
test eax, eax
jne 0x4e4fbd
mov dword [ecx + 4], ebp
mov eax, dword [esp + 0x74]
lea edx, [eax + 1]
mov ebx, dword [esp + 0x78]
cmp edx, ebx
jg 0x4e4f79
mov ebp, dword [esp + 0xec]
mov dword [esp + 0xd0], ebp
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ebx
lea esi, [ebp + eax*4]
mov edi, dword [0x884700]
test edi, edi
jne 0x4e4f5c
mov dword [ebp + eax*4], ecx
mov ebx, dword [esp + 0xd4]
mov edi, ebp
mov esi, edx
mov ebp, dword [esp + 0x74]
jmp 0x4e4cbf
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0xd0]
jmp 0x4e4f48
lea ebp, [0x6e3be0]
mov dword [esp], ebp
mov ebp, dword [esp + 0xec]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00437660
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0xb4]
jmp 0x4e4f27
mov dword [esp], edx
mov dword [esp + 4], ebp
call fcn.0040d5a0
mov ecx, dword [esp + 0xb4]
jmp 0x4e4f11
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0040d5a0
mov ecx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0xe0]
mov esi, dword [esp + 0x70]
jmp 0x4e4ef7
mov dword [esp], ebp
mov edi, dword [esp + 0xc4]
mov dword [esp + 4], edi
call fcn.0040d5a0
xor eax, eax
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0xe0]
mov esi, dword [esp + 0x70]
jmp 0x4e4ee3
lea esi, [0x6e3be0]
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
call fcn.00437660
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea esi, [eax + 2]
xor eax, eax
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xac]
jmp 0x4e4ebc
lea ecx, [0x6eb8c0]
mov dword [esp], ecx
mov dword [esp + 4], esi
lea ecx, [esp + 0xf4]
mov dword [esp + 8], ecx
call fcn.0040d6b0
xor eax, eax
mov edx, dword [esp + 0xac]
jmp 0x4e4e97
mov dword [esp], edx
mov dword [esp + 4], ebp
call fcn.0040d5a0
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x1ac]
mov esi, dword [esp + 0xb0]
jmp 0x4e4e6b
lea edx, [0x6eb8c0]
mov dword [esp], edx
call fcn.0040cd70
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0xac]
jmp 0x4e4e9e
call fcn.004246e0
ud2
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.0040d5a0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0xf0]
jmp 0x4e4dba
call fcn.00424680
ud2
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.004ec4c0
movzx eax, byte [esp + 8]
test al, al
je 0x4e522d
mov eax, dword [esp + 0xc4]
movzx ecx, byte [eax]
cmp cl, 3
jne 0x4e5204
mov edx, dword [eax + 0x18]
cmp edx, 1
jne 0x4e5204
mov edx, 1
test dl, dl
je 0x4e5183
mov ebp, dword [esp + 0xf0]
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0xc4]
mov esi, dword [esp + 0xec]
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
jmp 0x4e4c36
cmp cl, 0x11
jne 0x4e51b7
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
cmp ecx, edx
jne 0x4e51b7
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
test ecx, ecx
jbe 0x4e51fd
mov ecx, dword [edx]
movzx edx, byte [ecx]
cmp dl, 3
jne 0x4e51dd
mov ecx, dword [ecx + 0x18]
cmp ecx, 1
jne 0x4e51dd
mov ecx, 1
test cl, cl
jne 0x4e5159
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xf0]
mov edi, dword [esp + 0x40]
jmp 0x4e4c1c
cmp dl, 4
jne 0x4e51e9
mov ecx, 1
jmp 0x4e51b3
cmp dl, 5
jne 0x4e51f5
mov ecx, 1
jmp 0x4e51b3
cmp dl, 6
sete cl
jmp 0x4e51b3
call fcn.00424680
ud2
cmp cl, 4
jne 0x4e5213
mov edx, 1
jmp 0x4e5155
cmp cl, 5
jne 0x4e5222
mov edx, 1
jmp 0x4e5155
cmp cl, 6
sete dl
jmp 0x4e5155
mov eax, dword [esp + 0xc4]
jmp 0x4e51b7
xchg esi, eax
cmp al, 0x12
xchg esi, eax
jne 0x4e526e
mov esi, dword [ebx + 8]
mov ebp, dword [ebx + 4]
test esi, esi
jle 0x4e526e
mov ebx, dword [ebp]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x4e5262
mov ebp, dword [esp + 0xf0]
xor ebx, ebx
jmp 0x4e4c0d
mov ebp, dword [esp + 0xf0]
jmp 0x4e4c0d
mov ebp, dword [esp + 0xf0]
jmp 0x4e4c0d
call fcn.00424680
ud2
mov ebp, dword [esp + 0xf0]
xor ebx, ebx
jmp 0x4e4c1c
mov eax, ebp
xor ecx, ecx
xor edx, edx
xor edi, edi
mov dword [esp + 0x68], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x44], ebx
mov dword [esp + 0xf0], ebp
mov dword [esp + 0x40], edi
cmp ecx, esi
jg 0x4e57fa
jge 0x4e52f2
jae 0x4e57f3
mov eax, dword [eax + ecx*4]
movzx esi, byte [eax]
xchg esi, eax
cmp al, 3
xchg esi, eax
jne 0x4e57c4
mov eax, dword [eax + 0x18]
cmp eax, 1
jne 0x4e57c4
mov eax, 1
test al, al
je 0x4e52f2
inc ecx
mov eax, dword [esp + 0xec]
mov esi, dword [esp + 0x74]
jmp 0x4e5297
cmp ecx, edx
jne 0x4e53d4
mov eax, dword [esp + 0x74]
cmp ecx, eax
mov dword [esp + 0x40], edi
jge 0x4e53cd
jae 0x4e53c6
mov edx, dword [esp + 0xec]
mov esi, dword [edx + ecx*4]
mov dword [esp + 0xe4], esi
lea edx, [edi + 1]
cmp edx, ebx
jg 0x4e5381
mov dword [esp + 0xd0], ebp
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], ebx
lea eax, [ebp + edi*4]
mov dword [esp + 0xe0], eax
mov eax, dword [0x884700]
test eax, eax
jne 0x4e5359
mov dword [ebp + edi*4], esi
lea eax, [ecx + 1]
mov edi, edx
mov edx, eax
jmp 0x4e52e4
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.0040d5a0
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0xd0]
jmp 0x4e5350
lea eax, [0x6e3be0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00437660
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x68]
mov esi, dword [esp + 0xe4]
mov edi, dword [esp + 0x40]
jmp 0x4e5328
call fcn.00424680
ud2
mov edx, edi
jmp 0x4e5350
lea eax, [edx + 1]
mov dword [esp + 0x78], eax
cmp ecx, eax
jne 0x4e54a4
mov eax, dword [esp + 0x74]
cmp edx, eax
jae 0x4e549d
mov esi, dword [esp + 0xec]
mov edx, dword [esi + edx*4]
mov dword [esp + 0xe4], edx
lea esi, [edi + 1]
cmp esi, ebx
jg 0x4e5458
mov dword [esp + 0xd0], ebp
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], ebx
mov ebx, dword [0x884700]
lea esi, [ebp + edi*4]
test ebx, ebx
jne 0x4e5439
mov dword [ebp + edi*4], edx
cmp ecx, eax
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
mov edi, edx
jmp 0x4e5300
mov dword [esp], esi
mov dword [esp + 4], edx
call fcn.0040d5a0
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x74]
cmp ecx, eax
mov ebp, dword [esp + 0xd0]
jmp 0x4e542a
lea eax, [0x6e3be0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.00437660
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea esi, [eax + 1]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0xe4]
mov edi, dword [esp + 0x40]
jmp 0x4e5407
call fcn.00424680
ud2
mov esi, dword [esp + 0xec]
mov dword [esp + 0x48], edx
cmp eax, ecx
jge 0x4e551a
mov ebp, dword [esp + 0x74]
cmp edx, ebp
jae 0x4e57bd
mov ebx, dword [esi + edx*4]
movzx edi, byte [ebx]
cmp eax, ebp
jae 0x4e57bd
mov esi, dword [esi + eax*4]
movzx ebp, byte [esi]
xchg edi, eax
xchg ebp, ebx
cmp al, bl
xchg ebp, ebx
xchg edi, eax
jae 0x4e57a2
mov edx, eax
inc edx
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0x74]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0xf0]
mov esi, dword [esp + 0xec]
mov edi, dword [esp + 0x40]
mov esi, eax
mov eax, edx
mov edx, esi
mov esi, dword [esp + 0xec]
mov dword [esp + 0x48], edx
cmp eax, ecx
jl 0x4e54b3
mov eax, dword [esp + 0x38]
mov ebp, dword [esp + 0x74]
cmp eax, ebp
jae 0x4e579b
mov ebx, dword [esi + eax*4]
mov dword [esp + 0xe4], ebx
lea edi, [esi + eax*4]
mov dword [esp + 0xe0], edi
cmp edx, ebp
jae 0x4e579b
mov edi, dword [esi + edx*4]
lea ebp, [esi + edx*4]
mov dword [esp + 0xd8], ebp
mov ebp, dword [0x884700]
test ebp, ebp
jne 0x4e5769
mov dword [esi + eax*4], edi
mov ebp, dword [0x884700]
test ebp, ebp
jne 0x4e5742
mov dword [esi + edx*4], ebx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x4c], edx
cmp edx, ecx
jge 0x4e560a
mov ebx, dword [esi + eax*4]
mov ebp, dword [esp + 0x74]
cmp edx, ebp
jae 0x4e573b
mov edi, dword [esi + edx*4]
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.004e7ba0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xec]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0xbc], edx
test byte [edx], al
mov ebx, dword [0x884700]
mov ebp, dword [esp + 0x1ac]
mov esi, dword [ebp + 0x10]
lea edi, [edx + 0x10]
test ebx, ebx
jne 0x4e5711
mov dword [edx + 0x10], esi
mov ebx, dword [0x884700]
lea esi, [ebp + 0x10]
test ebx, ebx
jne 0x4e56ee
mov dword [ebp + 0x10], edx
lea edx, [eax + 1]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x68]
mov esi, dword [esp + 0xec]
mov dword [esp + 0x4c], edx
cmp edx, ecx
jl 0x4e5585
mov edx, dword [esi + eax*4]
mov dword [esp], edx
call fcn.004e3b90
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0xec]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0xe4], eax
mov edx, dword [esp + 0x40]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x44]
cmp ebx, ebp
jg 0x4e56a3
mov esi, dword [esp + 0xf0]
mov dword [esp + 0xd0], esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebp
mov edi, dword [0x884700]
lea ecx, [esi + edx*4]
test edi, edi
jne 0x4e567c
mov dword [esi + edx*4], eax
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x74]
cmp eax, ecx
mov eax, ecx
mov ecx, dword [esp + 0x68]
mov edx, ebx
mov ebp, esi
mov ebx, dword [esp + 0x44]
jmp 0x4e5432
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040d5a0
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x74]
cmp eax, ecx
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0xd0]
jmp 0x4e5669
lea esi, [0x6e3be0]
mov dword [esp], esi
mov esi, dword [esp + 0xf0]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00437660
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0x40]
jmp 0x4e5640
mov dword [esp], esi
mov dword [esp + 4], edx
call fcn.0040d5a0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xec]
mov ebp, dword [esp + 0x1ac]
jmp 0x4e55ec
mov dword [esp], edi
mov dword [esp + 4], esi
call fcn.0040d5a0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x1ac]
jmp 0x4e55d8
call fcn.00424680
ud2
mov edx, dword [esp + 0xd8]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.0040d5a0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x68]
mov esi, dword [esp + 0xec]
jmp 0x4e5575
mov ebp, dword [esp + 0xe0]
mov dword [esp], ebp
mov dword [esp + 4], edi
call fcn.0040d5a0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0xe4]
mov esi, dword [esp + 0xec]
jmp 0x4e5564
call fcn.00424680
ud2
jne 0x4e57b2
mov ebx, dword [ebx + 0x18]
mov ebp, dword [esi + 0x18]
cmp ebx, ebp
jl 0x4e54e1
mov edx, eax
mov eax, dword [esp + 0x48]
jmp 0x4e54e3
call fcn.00424680
ud2
xchg esi, eax
cmp al, 4
xchg esi, eax
jne 0x4e57d5
mov eax, 1
jmp 0x4e52e0
xchg esi, eax
cmp al, 5
xchg esi, eax
jne 0x4e57e6
mov eax, 1
jmp 0x4e52e0
xchg esi, eax
cmp al, 6
xchg esi, eax
sete al
jmp 0x4e52e0
call fcn.00424680
ud2
mov eax, ebp
xor ecx, ecx
xor edx, edx
mov dword [esp + 0xec], ebp
mov dword [esp + 0x78], edx
cmp ecx, edi
jge 0x4e5869
lea esi, [ecx + 1]
mov dword [esp + 0x74], esi
cmp esi, edi
jge 0x4e598a
cmp ecx, edi
jae 0x4e597c
mov ebp, dword [eax + ecx*4]
movzx ebp, byte [ebp]
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x4e5983
cmp esi, edi
jae 0x4e597c
mov ebp, dword [eax + ecx*4 + 4]
movzx ebp, byte [ebp]
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x4e5885
mov ecx, dword [esp + 0xec]
mov ebp, ecx
mov ecx, esi
mov dword [esp + 0xec], ebp
mov dword [esp + 0x78], edx
cmp ecx, edi
jl 0x4e580f
mov dword [esp + 0x1c0], ebp
mov dword [esp + 0x1c4], edx
mov dword [esp + 0x1c8], ebx
add esp, 0x1a8
ret
cmp ecx, edi
jae 0x4e5975
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0xe4], ecx
lea ebp, [edx + 1]
cmp ebp, ebx
jg 0x4e591b
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x78], ebp
mov dword [esp + 0x44], ebx
mov eax, dword [esp + 0xd0]
lea edi, [eax + edx*4]
mov dword [esp + 0xe0], edi
mov edi, dword [0x884700]
test edi, edi
jne 0x4e58f3
mov dword [eax + edx*4], ecx
mov eax, dword [esp + 0xf0]
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0xd0]
mov edx, ebp
jmp 0x4e5856
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0xd0]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
jmp 0x4e58da
lea eax, [0x6e3be0]
mov dword [esp], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.00437660
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ebp, [ecx + 1]
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x40]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0xf0]
jmp 0x4e58b4
call fcn.00424680
ud2
call fcn.00424680
ud2
cmp ecx, edi
jmp 0x4e5887
cmp ecx, edi
jmp 0x4e5887
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], ecx
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x1c8], eax
add esp, 0x1a8
ret
call fcn.004486b0
jmp fcn.004e4280