Function at 0x4ed670
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 0x4ed6a8
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x80]
xor edx, edx
push ebp
push 0x4eec19
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 0x4ed6fc
mov eax, dword [ebp - 4]
and dword [eax + 0x203], 0xffffff7f
mov eax, dword [ebp - 4]
and dword [eax + 0x203], 0xfffdffff
push ebp
call fcn.004ed5f0
pop ecx
mov byte [ebp - 0x1d], 0
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x169]
test ebx, ebx
je 0x4eeb7f
mov eax, dword [ebp - 4]
cmp dword [eax + 0x16d], 0
je 0x4eeb7f
mov eax, dword [ebp - 4]
mov dl, byte [0x4eec6c]
cmp dl, byte [eax + 0xd2]
je 0x4ed762
mov eax, dword [ebx + 0x2d]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
je 0x4ed762
mov eax, dword [ebp - 0x2c]
test byte [eax + 0x2c], 2
je 0x4ed754
mov byte [ebp - 0x1d], 1
jmp 0x4ed762
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jne 0x4ed745
mov byte [ebp - 0x11], 0
mov bl, byte [esi]
inc esi
mov eax, dword [ebp - 4]
cmp byte [eax + 0xdd3], 0
je 0x4ed77e
cmp bl, 0xa
je 0x4eeb77
xor eax, eax
mov al, bl
cmp eax, 0xc
jg 0x4ed7a0
je 0x4ee1a1
sub eax, 1
jb 0x4eeb77
sub eax, 7
je 0x4ed7b7
jmp 0x4ee991
sub eax, 0xd
je 0x4ee2be
sub eax, 0x72
je 0x4edc03
jmp 0x4ee991
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x75], edx
push ebp
call fcn.004ed584
pop ecx
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x44]
test al, al
je 0x4ed7db
mov byte [ebp - 0x19], 1
jmp 0x4edbf7
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 0
jg 0x4edbec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp byte [eax + 0xc], 0
jne 0x4ed80d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp byte [eax + 0xd], 0
jne 0x4ed80d
xor eax, eax
jmp 0x4ed80f
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 0x4ed8e3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x35], 0
jne 0x4ed8e3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
jne 0x4ed8e3
mov eax, dword [ebp - 4]
cmp dword [eax + 0xc4], 0
je 0x4ed8e3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc4]
cmp word [eax + 0x222], 0
je 0x4ed8e3
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 0x4ed8e3
mov eax, dword [ebp - 0x38]
mov edx, dword [0x4c3c04]
call fcn.004042b4
test al, al
je 0x4ed8e3
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 0x4eec5f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax], 0
jne 0x4ed963
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp byte [eax + 0xc], 0
jne 0x4ed90f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp byte [eax + 0xd], 0
je 0x4ed963
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp word [eax + 0x14], 0
jne 0x4ed963
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x35], 0
je 0x4ed944
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 0x4ed963
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 0x4edbf7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x138]
je 0x4ed986
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
test byte [eax + 0x2a], 8
je 0x4ed999
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
je 0x4edb96
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
je 0x4edac8
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 0x4eda90
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.004c9b70
test al, al
jne 0x4eda9b
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 0x4eda5f
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 0
jle 0x4eda5f
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 0x4eda5f
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 0x4eda9b
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.004dddc0
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0xac]
mov byte [ebp - 9], 3
jmp 0x4edbf7
xor edi, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x35], 0
je 0x4edbf7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x35]
test byte [eax + 0x2b], 4
je 0x4edb2b
jmp 0x4edb15
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 0x4edb24
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x35], 0
jne 0x4edaf1
mov edi, 1
jmp 0x4edb40
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 0x4edb6b
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 0x4edb57
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 0x4edc76
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
jne 0x4edbf7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x35], 0
jne 0x4edbf7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
test byte [eax + 0x29], 1
je 0x4edbf7
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.004e1030
jmp 0x4edbf7
mov eax, dword [ebp - 4]
dec dword [eax + 0x171]
jmp 0x4edc76
push ebp
call fcn.004ed5f0
pop ecx
jmp 0x4eeb77
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 0x4edc76
mov eax, dword [ebp - 4]
test byte [eax + 0xe8], 1
je 0x4edc76
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.004cbb0c
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x4edc76
mov eax, dword [ebp - 4]
mov dx, word [eax + 0x882]
mov eax, dword [ebp - 4]
call fcn.004cb668
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 0x4eec5f
push ebp
call fcn.004ed584
pop ecx
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x44]
test al, al
je 0x4edc92
mov byte [ebp - 0x19], 1
jmp 0x4eeb77
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax], 0
jne 0x4edd15
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x171]
movzx eax, word [eax + 0x14]
cmp edx, eax
jl 0x4edd15
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x31], 0
je 0x4edd15
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x31]
test byte [eax + 0x2b], 4
je 0x4edd15
jmp 0x4edce5
mov edi, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x169], edi
test byte [edi + 0x2b], 4
je 0x4edcf5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x31]
test eax, eax
jne 0x4edcd4
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 0x4edf76
test ax, ax
jne 0x4edf76
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp byte [eax + 0xc], 0
jne 0x4edd5d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp byte [eax + 0xd], 0
je 0x4edd67
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 0x4eddcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x31], 0
jne 0x4eddcc
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov eax, dword [ebp - 4]
call fcn.004c8160
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov dx, word [0x4eec6c]
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 [0x4eec6c]
mov dword [eax + 0x29], edx
mov byte [eax + 0xc], 0
mov byte [eax + 0xd], 0
jmp 0x4edf09
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 0x4ede3c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 0
je 0x4ede3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax], 0
jne 0x4ede3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x31], 0
je 0x4ede3c
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.004c9b70
test al, al
jne 0x4edf09
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.004cc3a8
push 3
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004cc3a8
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004eec74
test al, al
je 0x4edf09
cmp byte [ebp - 0x1a], 0
je 0x4edebc
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.004cbbe8
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.004dc3d4
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.004dddc0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov eax, dword [ebp - 4]
call fcn.004dcdbc
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.004ed2dc
mov edx, 2
mov eax, dword [ebp - 4]
call fcn.004eb408
mov eax, dword [ebp - 4]
cmp word [eax + 0xd94], 0
je 0x4edf4e
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 0x4ee159
mov edi, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [edi + 0x998]
call dword [edi + 0x994]
jmp 0x4ee159
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 0x4edfda
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax], 0
jne 0x4edfda
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x31], 0
je 0x4edfda
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.004c9b70
test al, al
jne 0x4ee159
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.004cc3a8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax], 0
jne 0x4ee048
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 0x4ee048
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x31], 0
je 0x4ee048
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.004cc3a8
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 0x4ee097
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 0
jle 0x4ee097
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 0x4ee097
mov eax, dword [ebp - 4]
dec dword [eax + 0x171]
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004eec74
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp word [eax + 0x14], 0
jne 0x4ee0e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
jne 0x4ee0e0
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.004dc3d4
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.004dddc0
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.004ed2dc
mov eax, dword [ebp - 4]
cmp word [eax + 0x996], 0
je 0x4ee159
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 0x4ee163
mov byte [ebp - 9], 3
cmp byte [ebp - 9], 0
jne 0x4ee17b
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.004db604
push ebp
call fcn.004ed5f0
pop ecx
mov eax, dword [ebp - 4]
call fcn.004ed2dc
jmp 0x4eeb77
mov byte [ebp - 0x1c], 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x16d]
cmp dword [edx + 4], 0
jne 0x4ee258
mov edx, dword [ebp - 4]
cmp dword [edx + 0x171], 0
jne 0x4ee258
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
test byte [eax + 0x29], 1
jne 0x4ee1e2
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x138]
jne 0x4ee258
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x203]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
mov edx, dword [0x4eec6c]
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, 0x4eec70
mov eax, dword [ebp - 4]
call fcn.004ed670
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 0x4ee28b
jmp 0x4ee278
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x35]
test eax, eax
je 0x4ee28b
mov edx, dword [ebp - 0x28]
test byte [edx + 0x2a], 2
jne 0x4ee275
mov eax, dword [ebp - 0x28]
test byte [eax + 0x2a], 8
je 0x4ee2ba
mov eax, dword [ebp - 0x28]
test byte [eax + 0x29], 1
je 0x4ee2a6
mov eax, dword [ebp - 0x28]
and dword [eax + 0x29], 0xfffffffe
jmp 0x4ee2ad
mov eax, dword [ebp - 0x28]
or dword [eax + 0x29], 1
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x30]
jmp 0x4eeb77
mov byte [ebp - 0x11], 1
mov eax, dword [ebp - 4]
cmp word [eax + 0x243], 0
je 0x4ee2e3
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 0x4ee2f7
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 0x4ee316
cmp byte [eax + 0xd], 0
je 0x4ee320
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 0x4ee361
mov edx, dword [ebp - 4]
cmp dword [edx + 0x171], 1
jge 0x4ee361
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x16d]
cmp dword [edx + 4], 0
jne 0x4ee361
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 0x4ee383
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
test byte [eax + 0x2b], 1
jne 0x4ee383
xor eax, eax
jmp 0x4ee385
mov al, 1
mov byte [ebp - 0x13], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
test byte [eax + 0x2a], 8
je 0x4ee3cd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x138]
jne 0x4ee3c6
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 1
jge 0x4ee3c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
je 0x4ee3cd
mov bl, 0xa
jmp 0x4ee991
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x138]
jne 0x4ee688
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 1
jge 0x4ee688
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
jne 0x4ee688
mov eax, dword [ebp - 4]
test byte [eax + 0x253], 4
je 0x4ee41e
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.004cc3a8
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 0
jg 0x4ee46f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
jne 0x4ee46f
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 0x4ee473
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.004c82c8
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [eax + 0x35], edx
mov eax, dword [ebp - 0x28]
mov edx, dword [0x4eec6c]
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 0x4ee5fe
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 0x4ee546
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x169]
mov dx, word [edx + 8]
mov word [eax + 8], dx
jmp 0x4ee54c
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 0x4ee5ce
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 0x4ee5fe
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.004dddc0
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 0x4ee669
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 0x4ee92c
mov eax, dword [ebp - 4]
mov byte [eax + 0x25e], 1
jmp 0x4ee92c
push 2
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004cc3a8
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 0
jg 0x4ee6d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
jne 0x4ee6d3
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 0x4ee76e
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 0x4ee76e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x35]
test byte [eax + 0x2a], 8
je 0x4ee76e
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 0x4ee749
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 0x4ee740
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.004ca4f0
test al, al
je 0x4ee8e8
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.004cbbe8
push 2
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov cl, 8
mov eax, dword [ebp - 4]
call fcn.004cc3a8
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.004dddc0
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 0x4ee831
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 0x4ee846
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
or dword [eax + 0x29], 1
jmp 0x4ee853
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.004dddc0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov edx, dword [eax + 0x35]
mov eax, dword [ebp - 4]
call fcn.004dcdbc
test al, al
jne 0x4ee8bf
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.004dddc0
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 0x4ee8e4
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 0x4ee920
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 [0x4eec6c]
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 0x4ee965
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp word [eax + 0x14], 0
jne 0x4ee965
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.004db604
test al, al
je 0x4ee97e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4eec5f
cmp byte [ebp - 0x19], 0
je 0x4eeb77
mov byte [ebp - 9], 3
jmp 0x4eeb77
push ebp
call fcn.004ed584
pop ecx
push 2
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov cl, 2
mov eax, dword [ebp - 4]
call fcn.004cc3a8
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x44]
test al, al
je 0x4ee9bd
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 0x4ee9de
mov edx, dword [ebp - 4]
mov dword [edx + 0x171], eax
push ebp
call fcn.004ed54c
pop ecx
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 4]
cmp dword [edx + 0x171], 0
jne 0x4eea19
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x16d]
cmp word [edx + 0x14], 0
jne 0x4eea19
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp byte [eax + 0xc], 0
jne 0x4eea1d
cmp byte [eax + 0xd], 0
jne 0x4eea1d
xor eax, eax
jmp 0x4eea1f
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 0x4eea5d
mov eax, dword [ebp - 4]
cmp byte [eax + 0x824], 0
jne 0x4eea5d
mov eax, dword [ebp - 4]
test byte [eax + 0x204], 8
jne 0x4eeb77
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.004c95d4
test al, al
je 0x4eeb6e
cmp byte [esi], 0
je 0x4eea98
cmp byte [esi], 0xd
jne 0x4eeb6e
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.004dc3d4
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.004dddc0
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.004d4920
mov eax, dword [ebp - 4]
mov byte [eax + 0x249], 0
push ebp
call fcn.004ed54c
pop ecx
cmp eax, dword [ebp - 0x24]
jne 0x4eeb1f
cmp bl, 0xa
jne 0x4eeb30
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 0x4eeb3a
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.004db604
cmp byte [ebp - 9], 0
jne 0x4eeb5a
mov byte [ebp - 9], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xbc]
cmp eax, dword [ebp - 0x18]
je 0x4eeb77
mov byte [ebp - 9], 3
jmp 0x4eeb77
mov eax, dword [ebp - 4]
inc dword [eax + 0x171]
test bl, bl
jne 0x4ed762
mov eax, dword [ebp - 4]
cmp byte [eax + 0xda2], 0
je 0x4eeb93
mov eax, dword [ebp - 4]
call fcn.004da3f8
cmp byte [ebp - 0x1c], 0
je 0x4eebd0
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0xac]
mov eax, dword [ebp - 4]
call fcn.004eafbc
mov eax, dword [ebp - 4]
cmp word [eax + 0x9a6], 0
je 0x4eebca
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x9a8]
call dword [ebx + 0x9a4]
mov byte [ebp - 9], 3
jmp 0x4eebed
cmp byte [ebp - 0x1d], 0
je 0x4eebe3
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0xac]
cmp byte [ebp - 9], 0
jne 0x4eebed
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 0x4eec5f
mov al, byte [ebp - 9]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret