Function at 0x4ed1b0
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc8
push ebx
push esi
push edi
mov esi, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x8ab], 1
mov byte [ebp - 0x1c], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x8ac], 1
cmp byte [esi], 1
je 0x4ed1e8
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x80]
xor edx, edx
push ebp
push 0x4ee759
push dword fs:[edx]
mov dword fs:[edx], esp
mov byte [ebp - 9], 0
mov byte [ebp - 9], 0
mov byte [ebp - 0x19], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x9d5], 1
mov eax, dword [ebp - 4]
mov byte [eax + 0x7dd], 0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x824], 0
jne 0x4ed23c
mov eax, dword [ebp - 4]
and dword [eax + 0x203], 0xffffff7f
mov eax, dword [ebp - 4]
and dword [eax + 0x203], 0xfffdffff
push ebp
call fcn.004ed130
pop ecx
mov byte [ebp - 0x1d], 0
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x169]
test ebx, ebx
je 0x4ee6bf
mov eax, dword [ebp - 4]
cmp dword [eax + 0x16d], 0
je 0x4ee6bf
mov eax, dword [ebp - 4]
mov dl, byte [0x4ee7ac]
cmp dl, byte [eax + 0xd2]
je 0x4ed2a2
mov eax, dword [ebx + 0x2d]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
je 0x4ed2a2
mov eax, dword [ebp - 0x2c]
test byte [eax + 0x2c], 2
je 0x4ed294
mov byte [ebp - 0x1d], 1
jmp 0x4ed2a2
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jne 0x4ed285
mov byte [ebp - 0x11], 0
mov bl, byte [esi]
inc esi
mov eax, dword [ebp - 4]
cmp byte [eax + 0xdd3], 0
je 0x4ed2be
cmp bl, 0xa
je 0x4ee6b7
xor eax, eax
mov al, bl
cmp eax, 0xc
jg 0x4ed2e0
je 0x4edce1
sub eax, 1
jb 0x4ee6b7
sub eax, 7
je 0x4ed2f7
jmp 0x4ee4d1
sub eax, 0xd
je 0x4eddfe
sub eax, 0x72
je 0x4ed743
jmp 0x4ee4d1
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x75], edx
push ebp
call fcn.004ed0c4
pop ecx
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x44]
test al, al
je 0x4ed31b
mov byte [ebp - 0x19], 1
jmp 0x4ed737
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 0
jg 0x4ed72c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp byte [eax + 0xc], 0
jne 0x4ed34d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp byte [eax + 0xd], 0
jne 0x4ed34d
xor eax, eax
jmp 0x4ed34f
mov al, 1
mov edx, dword [ebp - 4]
mov byte [edx + 0x7dd], al
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x171], edx
mov eax, dword [ebp - 4]
test byte [eax + 0xd1], 0x10
je 0x4ed423
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x35], 0
jne 0x4ed423
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
jne 0x4ed423
mov eax, dword [ebp - 4]
cmp dword [eax + 0xc4], 0
je 0x4ed423
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc4]
cmp word [eax + 0x222], 0
je 0x4ed423
xor eax, eax
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x38]
push eax
push 8
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0xc4]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc4]
mov cl, 1
mov eax, dword [edi + 0x224]
call dword [edi + 0x220]
cmp dword [ebp - 0x38], 0
je 0x4ed423
mov eax, dword [ebp - 0x38]
mov edx, dword [0x4c3744]
call fcn.004042b4
test al, al
je 0x4ed423
push 8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc4]
push eax
xor ecx, ecx
mov dl, 1
mov eax, dword [ebp - 0x38]
mov ebx, dword [eax]
call dword [ebx + 0xcc]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ee79f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax], 0
jne 0x4ed4a3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp byte [eax + 0xc], 0
jne 0x4ed44f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp byte [eax + 0xd], 0
je 0x4ed4a3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp word [eax + 0x14], 0
jne 0x4ed4a3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x35], 0
je 0x4ed484
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x35]
mov eax, dword [eax + 0x2d]
cmp word [eax + 0x14], 0
jbe 0x4ed4a3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov byte [eax + 0xc], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov byte [eax + 0xd], 0
jmp 0x4ed737
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x138]
je 0x4ed4c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
test byte [eax + 0x2a], 8
je 0x4ed4d9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
je 0x4ed6d6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
je 0x4ed608
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x16d], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp word [eax + 0x14], 0
jbe 0x4ed5d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
movzx eax, word [eax + 0x14]
dec eax
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x16d]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov eax, dword [ebp - 4]
call fcn.004c96b0
test al, al
jne 0x4ed5db
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
movzx eax, word [eax + 0x14]
dec eax
mov edx, dword [ebp - 4]
mov dword [edx + 0x171], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
mov eax, dword [eax + 0xc]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4ed59f
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 0
jle 0x4ed59f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x171]
shl eax, 4
add dword [ebp - 8], eax
mov eax, dword [ebp - 8]
test byte [eax + 7], 0x10
je 0x4ed59f
mov eax, dword [ebp - 4]
dec dword [eax + 0x171]
mov eax, dword [ebp - 4]
mov ax, word [eax + 0x171]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x16d]
mov word [edx + 0x14], ax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
add eax, dword [edx + 0x171]
mov byte [eax], 0
jmp 0x4ed5db
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x171], edx
lea eax, [ebp - 9]
push eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004dd900
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0xac]
mov byte [ebp - 9], 3
jmp 0x4ed737
xor edi, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x35], 0
je 0x4ed737
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x35]
test byte [eax + 0x2b], 4
je 0x4ed66b
jmp 0x4ed655
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x35]
mov edx, dword [ebp - 4]
mov dword [edx + 0x169], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
test byte [eax + 0x2b], 4
je 0x4ed664
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x35], 0
jne 0x4ed631
mov edi, 1
jmp 0x4ed680
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x35]
mov edx, dword [ebp - 4]
mov dword [edx + 0x169], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x2d]
mov edx, dword [ebp - 4]
mov dword [edx + 0x16d], eax
jmp 0x4ed6ab
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
mov dword [edx + 0x16d], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax], 0
jne 0x4ed697
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
movzx eax, word [eax + 0x14]
sub eax, edi
mov edx, dword [ebp - 4]
mov dword [edx + 0x171], eax
jmp 0x4ed7b6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
jne 0x4ed737
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x35], 0
jne 0x4ed737
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
test byte [eax + 0x29], 1
je 0x4ed737
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
and dword [eax + 0x29], 0xfffffffe
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x16d]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov eax, dword [ebp - 4]
call fcn.004e0b70
jmp 0x4ed737
mov eax, dword [ebp - 4]
dec dword [eax + 0x171]
jmp 0x4ed7b6
push ebp
call fcn.004ed130
pop ecx
jmp 0x4ee6b7
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x75], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x8df], 1
mov eax, dword [ebp - 4]
mov di, word [eax + 0x882]
test di, di
je 0x4ed7b6
mov eax, dword [ebp - 4]
test byte [eax + 0xe8], 1
je 0x4ed7b6
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.004cb64c
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x4ed7b6
mov eax, dword [ebp - 4]
mov dx, word [eax + 0x882]
mov eax, dword [ebp - 4]
call fcn.004cb1a8
mov eax, dword [ebp - 4]
mov word [eax + 0x882], 0
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x30]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ee79f
push ebp
call fcn.004ed0c4
pop ecx
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x44]
test al, al
je 0x4ed7d2
mov byte [ebp - 0x19], 1
jmp 0x4ee6b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax], 0
jne 0x4ed855
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x171]
movzx eax, word [eax + 0x14]
cmp edx, eax
jl 0x4ed855
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x31], 0
je 0x4ed855
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x31]
test byte [eax + 0x2b], 4
je 0x4ed855
jmp 0x4ed825
mov edi, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x169], edi
test byte [edi + 0x2b], 4
je 0x4ed835
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x31]
test eax, eax
jne 0x4ed814
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x171], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x2d]
mov edx, dword [ebp - 4]
mov dword [edx + 0x16d], eax
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x171]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
mov ax, word [eax + 0x14]
movzx ecx, ax
cmp edx, ecx
jl 0x4edab6
test ax, ax
jne 0x4edab6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp byte [eax + 0xc], 0
jne 0x4ed89d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp byte [eax + 0xd], 0
je 0x4ed8a7
mov eax, dword [ebp - 4]
mov byte [eax + 0xda2], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax], 0
jne 0x4ed90c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x31], 0
jne 0x4ed90c
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov eax, dword [ebp - 4]
call fcn.004c7ca0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov dx, word [0x4ee7ac]
mov word [eax + 0x21], dx
mov byte [eax + 0xf], 0
mov byte [eax + 0xe], 0
xor edx, edx
mov dword [eax + 0x11], edx
mov edx, dword [0x4ee7ac]
mov dword [eax + 0x29], edx
mov byte [eax + 0xc], 0
mov byte [eax + 0xd], 0
jmp 0x4eda49
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x171]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x16d]
movzx edx, word [edx + 0x14]
cmp eax, edx
jl 0x4ed97c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 0
je 0x4ed97c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax], 0
jne 0x4ed97c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x31], 0
je 0x4ed97c
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x31]
mov ecx, dword [eax + 0x2d]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov edx, dword [eax + 0x31]
mov eax, dword [ebp - 4]
call fcn.004c96b0
test al, al
jne 0x4eda49
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax], 0
sete byte [ebp - 0x1a]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x31]
test byte [eax + 0x29], 1
setne al
mov byte [ebp - 0x1c], al
push 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov edx, dword [eax + 0x31]
mov cl, 9
mov eax, dword [ebp - 4]
call fcn.004cbee8
push 3
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004cbee8
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004ee7b4
test al, al
je 0x4eda49
cmp byte [ebp - 0x1a], 0
je 0x4ed9fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov edx, dword [eax + 0x50]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004cb728
mov eax, dword [ebp - 4]
mov byte [eax + 0x249], 1
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov eax, dword [ebp - 4]
call fcn.004dbf14
lea eax, [ebp - 9]
push eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004dd900
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov eax, dword [ebp - 4]
call fcn.004dc8fc
mov eax, dword [ebp - 4]
mov byte [eax + 0x249], 0
mov byte [ebp - 9], 3
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0xac]
mov eax, dword [ebp - 4]
call fcn.004ece1c
mov edx, 2
mov eax, dword [ebp - 4]
call fcn.004eaf48
mov eax, dword [ebp - 4]
cmp word [eax + 0xd94], 0
je 0x4eda8e
mov edi, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [edi + 0xd96]
call dword [edi + 0xd92]
mov eax, dword [ebp - 4]
cmp word [eax + 0x996], 0
je 0x4edc99
mov edi, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [edi + 0x998]
call dword [edi + 0x994]
jmp 0x4edc99
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x171]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x16d]
movzx edx, word [edx + 0x14]
cmp eax, edx
jl 0x4edb1a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax], 0
jne 0x4edb1a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x31], 0
je 0x4edb1a
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x31]
mov ecx, dword [eax + 0x2d]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov edx, dword [eax + 0x31]
mov eax, dword [ebp - 4]
call fcn.004c96b0
test al, al
jne 0x4edc99
mov eax, dword [ebp - 4]
mov byte [eax + 0x249], 1
push 3
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov cl, 2
mov eax, dword [ebp - 4]
call fcn.004cbee8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax], 0
jne 0x4edb88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x171]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x16d]
movzx edx, word [edx + 0x14]
cmp eax, edx
jl 0x4edb88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x31], 0
je 0x4edb88
push 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov edx, dword [eax + 0x31]
mov cl, 9
mov eax, dword [ebp - 4]
call fcn.004cbee8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
movzx edi, word [eax + 0x16]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
mov eax, dword [eax + 0xc]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4edbd7
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 0
jle 0x4edbd7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x171]
shl eax, 4
add dword [ebp - 8], eax
mov eax, dword [ebp - 8]
test byte [eax + 7], 0x10
je 0x4edbd7
mov eax, dword [ebp - 4]
dec dword [eax + 0x171]
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004ee7b4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp word [eax + 0x14], 0
jne 0x4edc20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
jne 0x4edc20
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x169]
push esi
push edi
lea esi, [eax + 0x1ff]
lea edi, [edx + 0x40]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov eax, dword [ebp - 4]
call fcn.004dbf14
lea eax, [ebp - 9]
push eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004dd900
mov eax, dword [ebp - 4]
mov byte [eax + 0x249], 0
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0xac]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
movzx eax, word [eax + 0x16]
cmp edi, eax
setne byte [ebp - 0x19]
mov eax, dword [ebp - 4]
call fcn.004ece1c
mov eax, dword [ebp - 4]
cmp word [eax + 0x996], 0
je 0x4edc99
mov edi, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [edi + 0x998]
call dword [edi + 0x994]
cmp byte [ebp - 0x19], 0
je 0x4edca3
mov byte [ebp - 9], 3
cmp byte [ebp - 9], 0
jne 0x4edcbb
mov byte [ebp - 9], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
or word [eax + 0x2c], 1
mov eax, dword [ebp - 4]
mov byte [eax + 0x8df], 0
mov eax, dword [ebp - 4]
call fcn.004db144
push ebp
call fcn.004ed130
pop ecx
mov eax, dword [ebp - 4]
call fcn.004ece1c
jmp 0x4ee6b7
mov byte [ebp - 0x1c], 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x16d]
cmp dword [edx + 4], 0
jne 0x4edd98
mov edx, dword [ebp - 4]
cmp dword [edx + 0x171], 0
jne 0x4edd98
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
test byte [eax + 0x29], 1
jne 0x4edd22
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x138]
jne 0x4edd98
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x203]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
mov edx, dword [0x4ee7ac]
mov dword [eax + 0x203], edx
mov eax, dword [ebp - 4]
movzx edi, byte [eax + 0x201]
mov eax, dword [ebp - 4]
mov byte [eax + 0x201], 0
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x202]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x202], 0
mov edx, 0x4ee7b0
mov eax, dword [ebp - 4]
call fcn.004ed1b0
mov eax, edi
mov edx, dword [ebp - 4]
mov byte [edx + 0x201], al
mov al, byte [ebp - 0x10]
mov edx, dword [ebp - 4]
mov byte [edx + 0x202], al
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x30]
mov dword [eax + 0x203], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
test byte [eax + 0x2a], 8
je 0x4eddcb
jmp 0x4eddb8
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x35]
test eax, eax
je 0x4eddcb
mov edx, dword [ebp - 0x28]
test byte [edx + 0x2a], 2
jne 0x4eddb5
mov eax, dword [ebp - 0x28]
test byte [eax + 0x2a], 8
je 0x4eddfa
mov eax, dword [ebp - 0x28]
test byte [eax + 0x29], 1
je 0x4edde6
mov eax, dword [ebp - 0x28]
and dword [eax + 0x29], 0xfffffffe
jmp 0x4edded
mov eax, dword [ebp - 0x28]
or dword [eax + 0x29], 1
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x30]
jmp 0x4ee6b7
mov byte [ebp - 0x11], 1
mov eax, dword [ebp - 4]
cmp word [eax + 0x243], 0
je 0x4ede23
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc0]
mov edi, dword [ebp - 4]
mov eax, dword [edi + 0x245]
call dword [edi + 0x241]
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x44]
test al, al
je 0x4ede37
mov byte [ebp - 9], 3
mov byte [ebp - 0x19], 1
mov eax, dword [ebp - 4]
mov byte [eax + 0x7dd], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp byte [eax + 0xc], 0
jne 0x4ede56
cmp byte [eax + 0xd], 0
je 0x4ede60
mov eax, dword [ebp - 4]
mov byte [eax + 0xda2], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x138]
jne 0x4edea1
mov edx, dword [ebp - 4]
cmp dword [edx + 0x171], 1
jge 0x4edea1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x16d]
cmp dword [edx + 4], 0
jne 0x4edea1
mov edx, dword [ebp - 4]
push esi
lea esi, [edx + 0x1ff]
lea edi, [eax + 0x40]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
test byte [eax + 0x2b], 2
jne 0x4edec3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
test byte [eax + 0x2b], 1
jne 0x4edec3
xor eax, eax
jmp 0x4edec5
mov al, 1
mov byte [ebp - 0x13], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
test byte [eax + 0x2a], 8
je 0x4edf0d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x138]
jne 0x4edf06
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 1
jge 0x4edf06
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
je 0x4edf0d
mov bl, 0xa
jmp 0x4ee4d1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x138]
jne 0x4ee1c8
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 1
jge 0x4ee1c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
jne 0x4ee1c8
mov eax, dword [ebp - 4]
test byte [eax + 0x253], 4
je 0x4edf5e
mov eax, dword [ebp - 4]
mov byte [eax + 0x25e], 1
push 2
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x138]
mov cl, 8
mov eax, dword [ebp - 4]
call fcn.004cbee8
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 0
jg 0x4edfaf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
jne 0x4edfaf
mov byte [ebp - 0x1b], 1
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x169]
push esi
lea esi, [eax + 0x1ff]
lea edi, [edx + 0x40]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
jmp 0x4edfb3
mov byte [ebp - 0x1b], 0
xor eax, eax
mov dword [ebp - 0x28], eax
lea edx, [ebp - 0x28]
mov ecx, 4
mov eax, dword [ebp - 4]
call fcn.004c7e08
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [eax + 0x35], edx
mov eax, dword [ebp - 0x28]
mov edx, dword [0x4ee7ac]
mov dword [eax + 0x29], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov edx, dword [ebp - 0x28]
mov dword [edx + 0x31], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov edx, dword [ebp - 0x28]
mov dword [eax + 0x35], edx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x28]
mov dword [edx + 0x138], eax
cmp byte [ebp - 0x1b], 0
je 0x4ee13e
mov edx, dword [ebp - 4]
push esi
lea esi, [edx + 0x1ff]
lea edi, [eax + 0x40]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x169]
mov dx, word [edx + 2]
mov word [eax + 2], dx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x169]
mov dx, word [edx + 4]
mov word [eax + 4], dx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x169]
mov dx, word [edx]
mov word [eax], dx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x169]
mov dx, word [edx + 6]
mov word [eax + 6], dx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x169]
test byte [edx + 0x2a], 8
jne 0x4ee086
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x169]
mov dx, word [edx + 8]
mov word [eax + 8], dx
jmp 0x4ee08c
mov word [eax + 8], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov ax, word [eax + 0xa]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x138]
mov word [edx + 0xa], ax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x138]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x169]
mov ecx, dword [edx + 0x19]
mov dword [eax + 0x19], ecx
mov ecx, dword [edx + 0x1d]
mov dword [eax + 0x1d], ecx
cmp byte [ebp - 0x13], 0
je 0x4ee10e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x138]
and dword [eax + 0x29], 0xfffffffd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x138]
mov byte [eax + 0x10], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x138]
mov byte [eax + 0xe], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x138]
mov byte [eax + 0xf], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x138]
xor edx, edx
mov dword [eax + 0x15], edx
jmp 0x4ee13e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov al, byte [eax + 0x10]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x138]
mov byte [edx + 0x10], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x15]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x138]
mov dword [edx + 0x15], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x169]
push esi
lea esi, [eax + 0x1ff]
lea edi, [edx + 0x40]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
lea eax, [ebp - 9]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov edx, dword [eax + 0x35]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004dd900
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0xac]
mov byte [ebp - 9], 3
mov eax, dword [ebp - 4]
cmp word [eax + 0x84f], 0
je 0x4ee1a9
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc0]
mov edi, dword [ebp - 4]
mov eax, dword [edi + 0x851]
call dword [edi + 0x84d]
mov eax, dword [ebp - 4]
test byte [eax + 0x253], 4
je 0x4ee46c
mov eax, dword [ebp - 4]
mov byte [eax + 0x25e], 1
jmp 0x4ee46c
push 2
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004cbee8
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 0
jg 0x4ee213
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
jne 0x4ee213
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x169]
push esi
lea esi, [eax + 0x1ff]
lea edi, [edx + 0x40]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x25e]
mov byte [ebp - 0x12], al
cmp byte [ebp - 0x13], 0
je 0x4ee2ae
mov eax, dword [ebp - 4]
mov byte [eax + 0x25e], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x35], 0
je 0x4ee2ae
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x35]
test byte [eax + 0x2a], 8
je 0x4ee2ae
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x35]
mov edx, dword [ebp - 4]
mov dword [edx + 0x169], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x2d]
mov edx, dword [ebp - 4]
mov dword [edx + 0x16d], eax
jmp 0x4ee289
mov edx, dword [ebp - 4]
mov dword [edx + 0x16d], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
mov eax, dword [eax]
test eax, eax
jne 0x4ee280
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
movzx eax, word [eax + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x171], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x171]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x16d]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov eax, dword [ebp - 4]
call fcn.004ca030
test al, al
je 0x4ee428
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov edx, dword [eax + 0x50]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004cb728
push 2
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov cl, 8
mov eax, dword [ebp - 4]
call fcn.004cbee8
lea eax, [ebp - 9]
push eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004dd900
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x31]
mov edx, dword [ebp - 4]
mov dword [edx + 0x169], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x2d]
mov edx, dword [ebp - 4]
mov dword [edx + 0x16d], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp word [eax + 0x14], 0
jne 0x4ee371
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x169]
push esi
lea esi, [eax + 0x1ff]
lea edi, [edx + 0x40]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
cmp byte [ebp - 0x11], 0
je 0x4ee386
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
or dword [eax + 0x29], 1
jmp 0x4ee393
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
and dword [eax + 0x29], 0xfffffffe
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x171], edx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xac], edx
lea eax, [ebp - 9]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov edx, dword [eax + 0x35]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004dd900
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov edx, dword [eax + 0x35]
mov eax, dword [ebp - 4]
call fcn.004dc8fc
test al, al
jne 0x4ee3ff
lea eax, [ebp - 9]
push eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004dd900
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0xac]
mov eax, dword [ebp - 4]
cmp word [eax + 0x84f], 0
je 0x4ee424
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc0]
mov edi, dword [ebp - 4]
mov eax, dword [edi + 0x851]
call dword [edi + 0x84d]
mov byte [ebp - 9], 3
cmp byte [ebp - 0x13], 0
je 0x4ee460
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
and dword [eax + 0x29], 0xfffffffd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov byte [eax + 0x10], 0
mov byte [eax + 0xe], 0
mov byte [eax + 0xf], 0
xor edx, edx
mov dword [eax + 0x15], edx
mov dx, word [0x4ee7ac]
mov word [eax + 0x21], dx
mov eax, dword [ebp - 4]
mov dl, byte [ebp - 0x12]
mov byte [eax + 0x25e], dl
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
mov eax, dword [eax + 0xc]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4ee4a5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp word [eax + 0x14], 0
jne 0x4ee4a5
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
push esi
lea esi, [eax + 0x1ff]
mov edi, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [ebp - 4]
call fcn.004db144
test al, al
je 0x4ee4be
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ee79f
cmp byte [ebp - 0x19], 0
je 0x4ee6b7
mov byte [ebp - 9], 3
jmp 0x4ee6b7
push ebp
call fcn.004ed0c4
pop ecx
push 2
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov cl, 2
mov eax, dword [ebp - 4]
call fcn.004cbee8
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x44]
test al, al
je 0x4ee4fd
mov byte [ebp - 0x19], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
movzx eax, word [eax + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x171]
jge 0x4ee51e
mov edx, dword [ebp - 4]
mov dword [edx + 0x171], eax
push ebp
call fcn.004ed08c
pop ecx
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 4]
cmp dword [edx + 0x171], 0
jne 0x4ee559
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x16d]
cmp word [edx + 0x14], 0
jne 0x4ee559
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp byte [eax + 0xc], 0
jne 0x4ee55d
cmp byte [eax + 0xd], 0
jne 0x4ee55d
xor eax, eax
jmp 0x4ee55f
mov al, 1
mov edx, dword [ebp - 4]
mov byte [edx + 0xda2], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
or dword [eax + 0x29], 4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x238], 0
jne 0x4ee59d
mov eax, dword [ebp - 4]
cmp byte [eax + 0x824], 0
jne 0x4ee59d
mov eax, dword [ebp - 4]
test byte [eax + 0x204], 8
jne 0x4ee6b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x171]
push eax
push ebx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x16d]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov eax, dword [ebp - 4]
call fcn.004c9114
test al, al
je 0x4ee6ae
cmp byte [esi], 0
je 0x4ee5d8
cmp byte [esi], 0xd
jne 0x4ee6ae
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xbc]
mov dword [ebp - 0x18], eax
push 1
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 4]
mov edi, dword [eax]
call dword [edi + 0xd4]
mov eax, dword [ebp - 4]
mov byte [eax + 0x249], 1
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov eax, dword [ebp - 4]
call fcn.004dbf14
lea eax, [ebp - 9]
push eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004dd900
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x16d]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov eax, dword [ebp - 4]
call fcn.004d4460
mov eax, dword [ebp - 4]
mov byte [eax + 0x249], 0
push ebp
call fcn.004ed08c
pop ecx
cmp eax, dword [ebp - 0x24]
jne 0x4ee65f
cmp bl, 0xa
jne 0x4ee670
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0xac]
mov byte [ebp - 0x19], 1
cmp byte [ebp - 0x19], 0
je 0x4ee67a
mov byte [ebp - 9], 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
or word [eax + 0x2c], 1
mov eax, dword [ebp - 4]
call fcn.004db144
cmp byte [ebp - 9], 0
jne 0x4ee69a
mov byte [ebp - 9], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xbc]
cmp eax, dword [ebp - 0x18]
je 0x4ee6b7
mov byte [ebp - 9], 3
jmp 0x4ee6b7
mov eax, dword [ebp - 4]
inc dword [eax + 0x171]
test bl, bl
jne 0x4ed2a2
mov eax, dword [ebp - 4]
cmp byte [eax + 0xda2], 0
je 0x4ee6d3
mov eax, dword [ebp - 4]
call fcn.004d9f38
cmp byte [ebp - 0x1c], 0
je 0x4ee710
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0xac]
mov eax, dword [ebp - 4]
call fcn.004eaafc
mov eax, dword [ebp - 4]
cmp word [eax + 0x9a6], 0
je 0x4ee70a
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x9a8]
call dword [ebx + 0x9a4]
mov byte [ebp - 9], 3
jmp 0x4ee72d
cmp byte [ebp - 0x1d], 0
je 0x4ee723
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0xac]
cmp byte [ebp - 9], 0
jne 0x4ee72d
mov byte [ebp - 9], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
or word [eax + 0x2c], 1
mov eax, dword [ebp - 4]
mov byte [eax + 0x915], 1
mov eax, dword [ebp - 4]
mov byte [eax + 0x8ac], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ee79f
mov al, byte [ebp - 9]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret