Function at 0x4e9f50
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 0x4e9f88
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x80]
xor edx, edx
push ebp
push 0x4eb4f9
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 0x4e9fdc
mov eax, dword [ebp - 4]
and dword [eax + 0x203], 0xffffff7f
mov eax, dword [ebp - 4]
and dword [eax + 0x203], 0xfffdffff
push ebp
call fcn.004e9ed0
pop ecx
mov byte [ebp - 0x1d], 0
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x169]
test ebx, ebx
je 0x4eb45f
mov eax, dword [ebp - 4]
cmp dword [eax + 0x16d], 0
je 0x4eb45f
mov eax, dword [ebp - 4]
mov dl, byte [0x4eb54c]
cmp dl, byte [eax + 0xd2]
je 0x4ea042
mov eax, dword [ebx + 0x2d]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
je 0x4ea042
mov eax, dword [ebp - 0x2c]
test byte [eax + 0x2c], 2
je 0x4ea034
mov byte [ebp - 0x1d], 1
jmp 0x4ea042
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jne 0x4ea025
mov byte [ebp - 0x11], 0
mov bl, byte [esi]
inc esi
mov eax, dword [ebp - 4]
cmp byte [eax + 0xdd3], 0
je 0x4ea05e
cmp bl, 0xa
je 0x4eb457
xor eax, eax
mov al, bl
cmp eax, 0xc
jg 0x4ea080
je 0x4eaa81
sub eax, 1
jb 0x4eb457
sub eax, 7
je 0x4ea097
jmp 0x4eb271
sub eax, 0xd
je 0x4eab9e
sub eax, 0x72
je 0x4ea4e3
jmp 0x4eb271
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x75], edx
push ebp
call fcn.004e9e64
pop ecx
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x44]
test al, al
je 0x4ea0bb
mov byte [ebp - 0x19], 1
jmp 0x4ea4d7
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 0
jg 0x4ea4cc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp byte [eax + 0xc], 0
jne 0x4ea0ed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp byte [eax + 0xd], 0
jne 0x4ea0ed
xor eax, eax
jmp 0x4ea0ef
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 0x4ea1c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x35], 0
jne 0x4ea1c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
jne 0x4ea1c3
mov eax, dword [ebp - 4]
cmp dword [eax + 0xc4], 0
je 0x4ea1c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc4]
cmp word [eax + 0x222], 0
je 0x4ea1c3
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 0x4ea1c3
mov eax, dword [ebp - 0x38]
mov edx, dword [0x4c04e4]
call fcn.00404278
test al, al
je 0x4ea1c3
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 0x4eb53f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax], 0
jne 0x4ea243
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp byte [eax + 0xc], 0
jne 0x4ea1ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp byte [eax + 0xd], 0
je 0x4ea243
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp word [eax + 0x14], 0
jne 0x4ea243
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x35], 0
je 0x4ea224
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 0x4ea243
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 0x4ea4d7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x138]
je 0x4ea266
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
test byte [eax + 0x2a], 8
je 0x4ea279
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
je 0x4ea476
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
je 0x4ea3a8
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 0x4ea370
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.004c6450
test al, al
jne 0x4ea37b
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 0x4ea33f
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 0
jle 0x4ea33f
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 0x4ea33f
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 0x4ea37b
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.004da6a0
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0xac]
mov byte [ebp - 9], 3
jmp 0x4ea4d7
xor edi, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x35], 0
je 0x4ea4d7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x35]
test byte [eax + 0x2b], 4
je 0x4ea40b
jmp 0x4ea3f5
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 0x4ea404
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x35], 0
jne 0x4ea3d1
mov edi, 1
jmp 0x4ea420
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 0x4ea44b
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 0x4ea437
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 0x4ea556
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
jne 0x4ea4d7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x35], 0
jne 0x4ea4d7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
test byte [eax + 0x29], 1
je 0x4ea4d7
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.004dd910
jmp 0x4ea4d7
mov eax, dword [ebp - 4]
dec dword [eax + 0x171]
jmp 0x4ea556
push ebp
call fcn.004e9ed0
pop ecx
jmp 0x4eb457
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 0x4ea556
mov eax, dword [ebp - 4]
test byte [eax + 0xe8], 1
je 0x4ea556
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.004c83ec
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x4ea556
mov eax, dword [ebp - 4]
mov dx, word [eax + 0x882]
mov eax, dword [ebp - 4]
call fcn.004c7f48
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 0x4eb53f
push ebp
call fcn.004e9e64
pop ecx
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x44]
test al, al
je 0x4ea572
mov byte [ebp - 0x19], 1
jmp 0x4eb457
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax], 0
jne 0x4ea5f5
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x171]
movzx eax, word [eax + 0x14]
cmp edx, eax
jl 0x4ea5f5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x31], 0
je 0x4ea5f5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x31]
test byte [eax + 0x2b], 4
je 0x4ea5f5
jmp 0x4ea5c5
mov edi, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x169], edi
test byte [edi + 0x2b], 4
je 0x4ea5d5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x31]
test eax, eax
jne 0x4ea5b4
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 0x4ea856
test ax, ax
jne 0x4ea856
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp byte [eax + 0xc], 0
jne 0x4ea63d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp byte [eax + 0xd], 0
je 0x4ea647
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 0x4ea6ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x31], 0
jne 0x4ea6ac
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov eax, dword [ebp - 4]
call fcn.004c4a40
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov dx, word [0x4eb54c]
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 [0x4eb54c]
mov dword [eax + 0x29], edx
mov byte [eax + 0xc], 0
mov byte [eax + 0xd], 0
jmp 0x4ea7e9
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 0x4ea71c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 0
je 0x4ea71c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax], 0
jne 0x4ea71c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x31], 0
je 0x4ea71c
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.004c6450
test al, al
jne 0x4ea7e9
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.004c8c88
push 3
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004c8c88
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004eb554
test al, al
je 0x4ea7e9
cmp byte [ebp - 0x1a], 0
je 0x4ea79c
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.004c84c8
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.004d8cb4
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.004da6a0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov eax, dword [ebp - 4]
call fcn.004d969c
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.004e9bbc
mov edx, 2
mov eax, dword [ebp - 4]
call fcn.004e7ce8
mov eax, dword [ebp - 4]
cmp word [eax + 0xd94], 0
je 0x4ea82e
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 0x4eaa39
mov edi, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [edi + 0x998]
call dword [edi + 0x994]
jmp 0x4eaa39
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 0x4ea8ba
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax], 0
jne 0x4ea8ba
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x31], 0
je 0x4ea8ba
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.004c6450
test al, al
jne 0x4eaa39
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.004c8c88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax], 0
jne 0x4ea928
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 0x4ea928
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp dword [eax + 0x31], 0
je 0x4ea928
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.004c8c88
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 0x4ea977
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 0
jle 0x4ea977
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 0x4ea977
mov eax, dword [ebp - 4]
dec dword [eax + 0x171]
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004eb554
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp word [eax + 0x14], 0
jne 0x4ea9c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
jne 0x4ea9c0
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.004d8cb4
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.004da6a0
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.004e9bbc
mov eax, dword [ebp - 4]
cmp word [eax + 0x996], 0
je 0x4eaa39
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 0x4eaa43
mov byte [ebp - 9], 3
cmp byte [ebp - 9], 0
jne 0x4eaa5b
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.004d7ee4
push ebp
call fcn.004e9ed0
pop ecx
mov eax, dword [ebp - 4]
call fcn.004e9bbc
jmp 0x4eb457
mov byte [ebp - 0x1c], 1
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x16d]
cmp dword [edx + 4], 0
jne 0x4eab38
mov edx, dword [ebp - 4]
cmp dword [edx + 0x171], 0
jne 0x4eab38
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
test byte [eax + 0x29], 1
jne 0x4eaac2
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x138]
jne 0x4eab38
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x203]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
mov edx, dword [0x4eb54c]
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, 0x4eb550
mov eax, dword [ebp - 4]
call fcn.004e9f50
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 0x4eab6b
jmp 0x4eab58
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x35]
test eax, eax
je 0x4eab6b
mov edx, dword [ebp - 0x28]
test byte [edx + 0x2a], 2
jne 0x4eab55
mov eax, dword [ebp - 0x28]
test byte [eax + 0x2a], 8
je 0x4eab9a
mov eax, dword [ebp - 0x28]
test byte [eax + 0x29], 1
je 0x4eab86
mov eax, dword [ebp - 0x28]
and dword [eax + 0x29], 0xfffffffe
jmp 0x4eab8d
mov eax, dword [ebp - 0x28]
or dword [eax + 0x29], 1
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x30]
jmp 0x4eb457
mov byte [ebp - 0x11], 1
mov eax, dword [ebp - 4]
cmp word [eax + 0x243], 0
je 0x4eabc3
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 0x4eabd7
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 0x4eabf6
cmp byte [eax + 0xd], 0
je 0x4eac00
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 0x4eac41
mov edx, dword [ebp - 4]
cmp dword [edx + 0x171], 1
jge 0x4eac41
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x16d]
cmp dword [edx + 4], 0
jne 0x4eac41
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 0x4eac63
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
test byte [eax + 0x2b], 1
jne 0x4eac63
xor eax, eax
jmp 0x4eac65
mov al, 1
mov byte [ebp - 0x13], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
test byte [eax + 0x2a], 8
je 0x4eacad
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x138]
jne 0x4eaca6
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 1
jge 0x4eaca6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
je 0x4eacad
mov bl, 0xa
jmp 0x4eb271
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x138]
jne 0x4eaf68
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 1
jge 0x4eaf68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
jne 0x4eaf68
mov eax, dword [ebp - 4]
test byte [eax + 0x253], 4
je 0x4eacfe
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.004c8c88
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 0
jg 0x4ead4f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
jne 0x4ead4f
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 0x4ead53
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.004c4ba8
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [eax + 0x35], edx
mov eax, dword [ebp - 0x28]
mov edx, dword [0x4eb54c]
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 0x4eaede
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 0x4eae26
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x169]
mov dx, word [edx + 8]
mov word [eax + 8], dx
jmp 0x4eae2c
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 0x4eaeae
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 0x4eaede
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.004da6a0
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 0x4eaf49
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 0x4eb20c
mov eax, dword [ebp - 4]
mov byte [eax + 0x25e], 1
jmp 0x4eb20c
push 2
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004c8c88
mov eax, dword [ebp - 4]
cmp dword [eax + 0x171], 0
jg 0x4eafb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp dword [eax + 4], 0
jne 0x4eafb3
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 0x4eb04e
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 0x4eb04e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov eax, dword [eax + 0x35]
test byte [eax + 0x2a], 8
je 0x4eb04e
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 0x4eb029
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 0x4eb020
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.004c6dd0
test al, al
je 0x4eb1c8
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.004c84c8
push 2
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov cl, 8
mov eax, dword [ebp - 4]
call fcn.004c8c88
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.004da6a0
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 0x4eb111
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 0x4eb126
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
or dword [eax + 0x29], 1
jmp 0x4eb133
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.004da6a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
mov edx, dword [eax + 0x35]
mov eax, dword [ebp - 4]
call fcn.004d969c
test al, al
jne 0x4eb19f
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.004da6a0
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 0x4eb1c4
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 0x4eb200
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 [0x4eb54c]
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 0x4eb245
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16d]
cmp word [eax + 0x14], 0
jne 0x4eb245
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.004d7ee4
test al, al
je 0x4eb25e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4eb53f
cmp byte [ebp - 0x19], 0
je 0x4eb457
mov byte [ebp - 9], 3
jmp 0x4eb457
push ebp
call fcn.004e9e64
pop ecx
push 2
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x169]
mov cl, 2
mov eax, dword [ebp - 4]
call fcn.004c8c88
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x44]
test al, al
je 0x4eb29d
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 0x4eb2be
mov edx, dword [ebp - 4]
mov dword [edx + 0x171], eax
push ebp
call fcn.004e9e2c
pop ecx
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 4]
cmp dword [edx + 0x171], 0
jne 0x4eb2f9
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x16d]
cmp word [edx + 0x14], 0
jne 0x4eb2f9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x169]
cmp byte [eax + 0xc], 0
jne 0x4eb2fd
cmp byte [eax + 0xd], 0
jne 0x4eb2fd
xor eax, eax
jmp 0x4eb2ff
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 0x4eb33d
mov eax, dword [ebp - 4]
cmp byte [eax + 0x824], 0
jne 0x4eb33d
mov eax, dword [ebp - 4]
test byte [eax + 0x204], 8
jne 0x4eb457
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.004c5eb4
test al, al
je 0x4eb44e
cmp byte [esi], 0
je 0x4eb378
cmp byte [esi], 0xd
jne 0x4eb44e
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.004d8cb4
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.004da6a0
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.004d1200
mov eax, dword [ebp - 4]
mov byte [eax + 0x249], 0
push ebp
call fcn.004e9e2c
pop ecx
cmp eax, dword [ebp - 0x24]
jne 0x4eb3ff
cmp bl, 0xa
jne 0x4eb410
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 0x4eb41a
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.004d7ee4
cmp byte [ebp - 9], 0
jne 0x4eb43a
mov byte [ebp - 9], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xbc]
cmp eax, dword [ebp - 0x18]
je 0x4eb457
mov byte [ebp - 9], 3
jmp 0x4eb457
mov eax, dword [ebp - 4]
inc dword [eax + 0x171]
test bl, bl
jne 0x4ea042
mov eax, dword [ebp - 4]
cmp byte [eax + 0xda2], 0
je 0x4eb473
mov eax, dword [ebp - 4]
call fcn.004d6cd8
cmp byte [ebp - 0x1c], 0
je 0x4eb4b0
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0xac]
mov eax, dword [ebp - 4]
call fcn.004e789c
mov eax, dword [ebp - 4]
cmp word [eax + 0x9a6], 0
je 0x4eb4aa
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x9a8]
call dword [ebx + 0x9a4]
mov byte [ebp - 9], 3
jmp 0x4eb4cd
cmp byte [ebp - 0x1d], 0
je 0x4eb4c3
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0xac]
cmp byte [ebp - 9], 0
jne 0x4eb4cd
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 0x4eb53f
mov al, byte [ebp - 9]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret