Function at 0x4e9000
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x41c
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe4], 0xffffffff
mov byte [ebp - 0xe5], 0
mov byte [ebp - 0xe6], 0
mov byte [ebp - 0xe7], 0
mov byte [ebp - 0xe8], 0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
and eax, 4
test eax, eax
setne al
mov byte [ebp - 0x65], al
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
and eax, 0x80
test eax, eax
setne al
mov byte [ebp - 0x66], al
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
and eax, 0x100
test eax, eax
setne al
mov byte [ebp - 0x67], al
mov dword [ebp - 0x38], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0x2f0], 0
mov eax, dword [0x7bdda8]
test eax, eax
setne al
mov byte [ebp - 0x68], al
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x44], 0xffffffff
mov byte [ebp - 0x4a], 0
mov al, byte [0x7bde00]
xor eax, 1
test al, al
jne 0x4e7d23
mov al, byte [0x7bdd15]
test al, al
je 0x4e7d2a
mov eax, 1
jmp 0x4e7d2f
mov eax, 0
mov byte [ebp - 0x69], al
and byte [ebp - 0x69], 1
mov dword [ebp - 0x340], 0
mov dword [ebp - 0x33c], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
cmp eax, 1
jne 0x4e7d8d
call fcn.0050bfff
xor eax, 1
test al, al
je 0x4e7d8d
mov dword [esp], 1
call fcn.004fb129
mov dword [esp + 4], 0x6ee594
mov dword [esp], 1
call fcn.004ef9ca
mov dword [ebp - 0x34], 0x2d
jmp 0x4ea656
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, dword [ebp + 0x10]
mov dword [eax + 8], 0xffffffff
mov dword [eax + 0xc], 0xffffffff
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x18], 0xffffffff
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x1c], 0
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x20], 0
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x24]
mov dword [esp], eax
call 0x78ffe4
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x24], 0
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x28], 0
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x30], 0
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x68], 0
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x6c], 0
mov eax, dword [ebp + 8]
mov dword [ebp - 0xd4], eax
mov al, byte [ebp - 0x69]
xor edx, edx
mov dl, al
lea eax, [ebp - 0x344]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0xcc]
mov dword [esp + 0x20], eax
lea eax, [ebp - 0xc8]
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x340]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0xe6]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
mov eax, dword [ebp + 0x18]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004e4ec3
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc4]
test eax, eax
jne 0x4e7e90
mov eax, dword [ebp - 0x344]
mov dword [ebp - 0x34], eax
jmp 0x4ea656
mov al, byte [0x7bdee5]
test al, al
je 0x4e7efe
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
cmp eax, 1
sete al
mov esi, eax
and esi, 0xff
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x10]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 8]
mov eax, dword [0x7af144]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004d0f8f
mov edx, dword [ebp - 0xc4]
mov dword [esp + 0xc], 2
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ee5be
mov dword [esp], edx
call fcn.004e2700
mov eax, dword [0x7bddfc]
test eax, eax
je 0x4e7f49
mov dword [ebp - 0x50], 0
jmp 0x4e7f35
mov edx, dword [0x7bddfc]
mov eax, dword [ebp - 0x50]
shl eax, 2
add eax, edx
mov edx, dword [eax]
mov eax, dword [ebp - 0xc4]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004e2838
inc dword [ebp - 0x50]
mov edx, dword [0x7bddfc]
mov eax, dword [ebp - 0x50]
shl eax, 2
add eax, edx
mov eax, dword [eax]
test eax, eax
jne 0x4e7f10
mov dword [ebp - 0xd0], 0
cmp dword [ebp + 0x18], 0
je 0x4e7f88
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0xd4], eax
mov edx, dword [ebp - 0xc4]
lea eax, [ebp - 0xd0]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004e55ff
mov byte [ebp - 0x49], 1
cmp byte [ebp - 0x69], 0
je 0x4e7f96
mov byte [ebp - 0x49], 0
mov al, byte [ebp - 0x69]
xor edx, edx
mov dl, al
lea eax, [ebp - 0xe4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edx
lea eax, [ebp - 0xe8]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0xc4]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0xd0]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
lea eax, [ebp - 0xd4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004e5692
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0x19
je 0x4e8000
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x34], eax
jmp 0x4ea656
cmp byte [ebp - 0x68], 0
je 0x4e80ae
call fcn.004ff894
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jne 0x4e805c
mov al, byte [0x7af14c]
test al, al
je 0x4e8038
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4e8038
call fcn.004e4787
jmp 0x4e8046
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
mov dword [ebp - 0x34], 0x35
jmp 0x4ea656
cmp dword [ebp + 0x18], 0
jne 0x4e80ae
mov eax, 0x10
dec eax
add eax, 0x27
mov edi, 0x10
mov edx, 0
div edi
imul eax, eax, 0x10
call 0x7829fc
sub esp, eax
lea eax, [esp + 0x3c]
add eax, 0xf
shr eax, 4
shl eax, 4
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0xe4]
mov dword [esp + 8], 1
mov eax, dword [ebp - 0x40]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004cd4ca
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.004e29d5
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
js 0x4e8274
mov eax, dword [0x7bdf00]
test eax, eax
je 0x4e81e4
mov al, byte [0x7bde7b]
and eax, 0xff
test eax, eax
je 0x4e810a
mov eax, dword [0x7bdf00]
mov dword [esp + 4], eax
mov dword [esp], 0x6ee5c5
call fcn.004efae1
mov eax, dword [ebp - 0x340]
mov edx, dword [ebp - 0x33c]
mov ecx, eax
mov edx, dword [0x7bdf00]
mov eax, dword [ebp - 0xe4]
fld1
fchs
fstp qword [esp + 0xc]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004cde91
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
js 0x4e8274
cmp dword [ebp - 0x3c], 0
je 0x4e8274
mov eax, dword [ebp - 0x3c]
mov dword [esp], eax
call 0x7846bc
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x340]
mov edx, dword [ebp - 0x33c]
mov ecx, eax
mov edx, dword [0x7bdf00]
mov eax, dword [ebp - 0x3c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], 1
mov dword [esp], edx
call fcn.0054a4ad
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
mov ecx, eax
mov ebx, eax
sar ebx, 0x1f
mov eax, dword [ebp - 0x340]
mov edx, dword [ebp - 0x33c]
mov edi, ecx
xor edi, eax
mov dword [ebp - 0x380], edi
mov edi, ebx
xor edi, edx
mov dword [ebp - 0x37c], edi
mov esi, dword [ebp - 0x380]
mov edi, dword [ebp - 0x37c]
mov eax, edi
or eax, esi
test eax, eax
je 0x4e8274
mov dword [ebp - 0x20], 0xfffffffe
jmp 0x4e8274
mov eax, dword [0x7bdf04]
test eax, eax
je 0x4e8274
mov eax, dword [ebp - 0x340]
mov edx, dword [ebp - 0x33c]
mov edi, eax
xor edi, 0
mov dword [ebp - 0x388], edi
mov eax, edx
xor ah, 0
mov dword [ebp - 0x384], eax
mov esi, dword [ebp - 0x388]
mov edi, dword [ebp - 0x384]
mov eax, edi
or eax, esi
test eax, eax
je 0x4e8274
cmp dword [ebp - 0x3c], 0
je 0x4e823e
mov eax, dword [ebp - 0x3c]
mov dword [esp], eax
call 0x7846bc
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov edx, dword [ebp - 0x340]
mov ecx, dword [ebp - 0x33c]
mov esi, dword [0x7bdf04]
mov ebx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x3c]
mov dword [esp + 0x10], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.004e2edd
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jns 0x4e82e1
mov al, byte [0x7af14c]
test al, al
je 0x4e829a
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4e829a
call fcn.004e4787
jmp 0x4e82a8
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
cmp dword [ebp - 0x3c], 0
je 0x4e82c3
mov eax, dword [ebp - 0x3c]
mov dword [esp], eax
call 0x790044
cmp dword [ebp - 0x20], 0xfffffffe
jne 0x4e82d5
mov dword [ebp - 0x34], 0x36
jmp 0x4ea656
mov dword [ebp - 0x34], 0x2c
jmp 0x4ea656
cmp dword [ebp + 0x18], 0
je 0x4e82ee
mov eax, 0x6ee5d6
jmp 0x4e82f3
mov eax, 0x6edbee
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ee5dc
mov dword [esp], 0
call fcn.004ef9ca
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
and eax, 0xfffffffd
mov edx, eax
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
cmp byte [ebp - 0x68], 0
je 0x4e83f2
mov dword [esp + 4], 0x15
lea eax, [ebp - 0x305]
mov dword [esp], eax
call fcn.004fe82e
lea eax, [ebp - 0x335]
mov dword [esp], eax
call fcn.004fe9c0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov eax, dword [ebp - 0x3c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x40]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x335]
mov dword [esp + 8], eax
lea eax, [ebp - 0x305]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004ff90d
mov byte [ebp - 0x75], al
mov al, byte [ebp - 0x75]
xor eax, 1
test al, al
je 0x4e83f2
mov al, byte [0x7af14c]
test al, al
je 0x4e83ce
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4e83ce
call fcn.004e4787
jmp 0x4e83dc
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
mov dword [ebp - 0x34], 0x34
jmp 0x4ea656
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004e3193
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x4e84dc
mov eax, dword [0x7bf9b0]
call eax
mov eax, dword [eax]
test eax, eax
jne 0x4e8472
mov dword [esp + 4], 0x6ee603
mov dword [esp], 1
call fcn.004ef698
mov al, byte [0x7af14c]
test al, al
je 0x4e844e
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4e844e
call fcn.004e4787
jmp 0x4e845c
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
mov dword [ebp - 0x34], 0x16
jmp 0x4ea656
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004cdfc3
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ee616
mov dword [esp], 1
call fcn.004ef9ca
mov al, byte [0x7af14c]
test al, al
je 0x4e84b8
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4e84b8
call fcn.004e4787
jmp 0x4e84c6
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
mov dword [ebp - 0x34], 0x18
jmp 0x4ea656
mov al, byte [0x7bde7b]
and eax, 0xff
test eax, eax
je 0x4e84fd
mov eax, dword [ebp - 0x38]
mov dword [esp + 4], eax
mov dword [esp], 0x6ee634
call fcn.004efae1
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
call fcn.004e31be
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x2f0]
mov dword [esp], eax
call 0x78ffe4
mov dword [ebp - 0x2f0], 0
mov edx, dword [ebp - 0xec]
lea eax, [ebp - 0x2f0]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004e35a1
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
jns 0x4e8601
mov dword [esp], 0
call 0x78fe0c
mov dword [esp], eax
call fcn.005005f4
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ee063
mov dword [esp], 0
call fcn.004ef9ca
mov dword [esp + 4], 0x6ee067
mov dword [esp], 7
call fcn.0052c925
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xc0]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ee07d
mov dword [esp], 1
call fcn.004ef9ca
mov al, byte [0x7af14c]
test al, al
je 0x4e85dd
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4e85dd
call fcn.004e4787
jmp 0x4e85eb
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
mov dword [ebp - 0x34], 0x18
jmp 0x4ea656
cmp dword [ebp - 0x7c], 0x63
jle 0x4e8650
cmp dword [ebp - 0x7c], 0xc7
jg 0x4e8650
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
call 0x78ffe4
mov dword [ebp - 0x38], 0
lea eax, [ebp - 0xec]
mov dword [esp], eax
call fcn.004e37da
mov byte [ebp - 0x51], 1
mov al, byte [0x7bde7b]
and eax, 0xff
test eax, eax
je 0x4e8654
mov dword [esp], 0x6ee660
call fcn.004efae1
jmp 0x4e8654
mov byte [ebp - 0x51], 0
cmp byte [ebp - 0x51], 0
jne 0x4e83f2
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x30]
mov dword [esp], eax
call 0x78ffe4
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x30], 0
mov eax, dword [ebp - 0x2f0]
mov dword [esp], eax
call fcn.0052d122
mov edx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x30], edx
mov al, byte [0x7bde78]
xor eax, 1
test al, al
je 0x4e86e0
mov eax, dword [ebp - 0x2f0]
test eax, eax
je 0x4e86ba
mov eax, dword [ebp - 0x2f0]
mov dword [esp + 4], eax
mov dword [esp], 7
call fcn.0052c925
jmp 0x4e86bf
mov eax, 0x6ee2ca
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ee673
mov dword [esp], 0
call fcn.004ef9ca
jmp 0x4e870a
mov dword [esp + 4], 0x6ee67b
mov dword [esp], 0
call fcn.004ef9ca
mov eax, dword [ebp - 0xec]
mov dword [esp + 4], 0x6ee67d
mov dword [esp], eax
call fcn.004e38db
mov al, byte [0x7bdd15]
xor eax, 1
test al, al
je 0x4e87fe
mov edx, dword [ebp - 0xec]
mov dword [esp + 0xc], 0x200
lea eax, [ebp - 0x2ec]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6edf53
mov dword [esp], edx
call fcn.004e34dd
test al, al
je 0x4e87fe
mov eax, dword [0x7bf9b0]
call eax
mov dword [eax], 0
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
lea eax, [ebp - 0x2ec]
mov dword [esp], eax
call 0x78387c
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
mov eax, dword [ebp - 0x88]
xor eax, 0xffffffff
mov dword [ebp - 0x390], eax
mov eax, dword [ebp - 0x84]
xor eax, 0x7fffffff
mov dword [ebp - 0x38c], eax
mov esi, dword [ebp - 0x390]
mov edi, dword [ebp - 0x38c]
mov eax, edi
or eax, esi
test eax, eax
jne 0x4e87d3
mov eax, dword [0x7bf9b0]
call eax
mov eax, dword [eax]
cmp eax, 0x22
jne 0x4e87d3
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x24], 0xffffffff
jmp 0x4e87fe
cmp dword [ebp - 0x84], 0
jns 0x4e87ec
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x24], 0xffffffff
jmp 0x4e87fe
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
mov al, byte [ebp - 0x69]
xor eax, 1
test al, al
je 0x4e8852
mov edx, dword [ebp - 0xec]
mov dword [esp + 0xc], 0x200
lea eax, [ebp - 0x2ec]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ededc
mov dword [esp], edx
call fcn.004e34dd
test al, al
je 0x4e8852
mov dword [esp + 4], 0x6eded6
lea eax, [ebp - 0x2ec]
mov dword [esp], eax
call fcn.0050f050
test eax, eax
jne 0x4e8852
mov byte [ebp - 0x49], 0
mov byte [ebp - 0x4a], 0
mov edx, dword [ebp - 0xec]
mov dword [esp + 0xc], 0x200
lea eax, [ebp - 0x2ec]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ee680
mov dword [esp], edx
call fcn.004e34dd
test al, al
je 0x4e88a0
mov dword [esp + 4], 0x6ee692
lea eax, [ebp - 0x2ec]
mov dword [esp], eax
call fcn.0050f050
test eax, eax
jne 0x4e88a0
mov byte [ebp - 0x4a], 1
mov al, byte [0x7bdee5]
test al, al
je 0x4e89d5
mov dword [ebp - 0x58], 0
jmp 0x4e8997
mov eax, dword [ebp - 0x348]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x34c]
mov edx, eax
mov eax, dword [ebp - 0x8c]
sub edx, eax
mov eax, edx
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x350]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x90]
inc eax
lea edx, [eax + 0xf]
mov eax, 0x10
dec eax
add eax, edx
mov edi, 0x10
mov edx, 0
div edi
imul eax, eax, 0x10
call 0x7829fc
sub esp, eax
lea eax, [esp + 0x3c]
add eax, 0xf
shr eax, 4
shl eax, 4
mov edx, eax
mov eax, dword [ebp - 0x94]
mov dword [eax], edx
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
mov dword [esp + 8], edx
mov eax, dword [ebp - 0x8c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call 0x78ff3c
mov eax, dword [ebp - 0x94]
mov edx, dword [eax]
mov eax, dword [ebp - 0x90]
add eax, edx
mov byte [eax], 0
mov esi, dword [ebp - 0x350]
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x10]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 8]
mov eax, dword [0x7af144]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004d099d
inc dword [ebp - 0x58]
mov edx, dword [ebp - 0xec]
lea eax, [ebp - 0x34c]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x348]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x58]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ee69a
mov dword [esp], edx
call fcn.004e3363
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0xffffffff
jne 0x4e88b9
cmp byte [ebp - 0x49], 0
je 0x4e8a11
mov al, byte [ebp - 0xe8]
xor ebx, ebx
mov bl, al
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 8]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004e47fa
cmp byte [ebp - 0x67], 0
je 0x4e8ae3
mov eax, dword [ebp - 0xec]
mov edx, dword [ebp + 8]
mov dword [esp + 8], edx
mov edx, dword [ebp + 0x10]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004e69af
mov edx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x64], edx
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x4c]
test eax, eax
jne 0x4e8a79
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x64]
test eax, eax
je 0x4e8a79
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x64]
mov eax, dword [eax + 8]
test eax, eax
je 0x4e8a79
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x64]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.0052d122
mov edx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x4c], edx
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x30]
mov dword [esp], eax
call 0x78ffe4
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x30], 0
mov dword [ebp - 0x34], 0x3d
mov al, byte [ebp - 0x49]
xor eax, 1
test al, al
je 0x4ea655
mov al, byte [0x7af14c]
test al, al
je 0x4e8ac6
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4e8ac6
call fcn.004e4787
jmp 0x4e8ad4
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
jmp 0x4ea655
cmp dword [ebp - 0x7c], 0x191
jne 0x4e8e04
mov dword [ebp - 0xb8], 0x19
cmp byte [ebp - 0x68], 0
je 0x4e8c58
mov eax, dword [ebp - 0xec]
mov dword [esp + 4], 0x6edf26
mov dword [esp], eax
call fcn.004e3559
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov al, byte [ebp - 0x4a]
xor edx, edx
mov dl, al
mov ebx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x38]
mov dword [esp + 0x38], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp + 0x34], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 0x30], eax
mov eax, dword [ebp - 0x40]
mov dword [esp + 0x2c], eax
lea eax, [ebp - 0x335]
mov dword [esp + 0x28], eax
lea eax, [ebp - 0x305]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004e4aa9
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call 0x78ffe4
mov dword [ebp - 0x1c], 0
cmp dword [ebp - 0xbc], 0x23
jne 0x4e8bc7
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x18]
test eax, eax
jns 0x4e8c0d
mov al, byte [0x7af14c]
test al, al
je 0x4e8be7
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4e8be7
call fcn.004e4787
jmp 0x4e8bf5
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x34], eax
jmp 0x4ea656
mov al, byte [ebp - 0x49]
xor eax, 1
test al, al
je 0x4e8d10
mov al, byte [0x7af14c]
test al, al
je 0x4e8c3b
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4e8c3b
call fcn.004e4787
jmp 0x4e8c49
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
jmp 0x4e8d10
cmp byte [ebp - 0x49], 0
je 0x4e8cd8
mov al, byte [ebp - 0x65]
xor eax, 1
test al, al
je 0x4e8cd8
mov al, byte [ebp - 0x4a]
and eax, 0xff
mov ecx, dword [ebp - 0xe4]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp], ecx
call fcn.004e3c39
test al, al
je 0x4e8cd8
mov al, byte [ebp - 0x49]
xor eax, 1
test al, al
je 0x4e8d10
mov al, byte [0x7af14c]
test al, al
je 0x4e8cbe
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4e8cbe
call fcn.004e4787
jmp 0x4e8ccc
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
jmp 0x4e8d10
mov al, byte [0x7af14c]
test al, al
je 0x4e8cf8
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4e8cf8
call fcn.004e4787
jmp 0x4e8d06
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
mov byte [0x7af15d], 0
mov esi, dword [ebp - 0xc4]
mov ebx, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xc8]
lea eax, [ebp - 0xe5]
mov dword [esp + 0x20], eax
lea eax, [ebp - 0xe6]
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x351]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0xe7]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004e60eb
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0x19
jne 0x4e8de0
mov al, byte [ebp - 0x351]
test al, al
je 0x4e8de0
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x30]
mov dword [esp], eax
call 0x78ffe4
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x30], 0
lea eax, [ebp - 0xec]
mov dword [esp], eax
call fcn.004e37da
mov eax, dword [ebp - 0x2f0]
mov dword [esp], eax
call 0x78ffe4
mov dword [ebp - 0x2f0], 0
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
call 0x78ffe4
mov dword [ebp - 0x38], 0
jmp 0x4e7e90
cmp dword [ebp - 0xb8], 0x19
jne 0x4e8df5
mov dword [ebp - 0x34], 0x2a
jmp 0x4ea656
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x34], eax
nop
jmp 0x4ea656
mov al, byte [ebp - 0xe7]
test al, al
je 0x4e8e15
mov byte [0x7af15d], 1
mov edx, dword [ebp - 0xec]
mov dword [esp + 0x10], 0x200
lea eax, [ebp - 0x2ec]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004e5e8a
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0x19
je 0x4e8e60
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x34], eax
jmp 0x4ea656
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x7c]
mov dword [edx + 0x2c], eax
cmp dword [ebp - 0x7c], 0xffffffff
jne 0x4e8e85
mov dword [esp], 0x6ee067
call fcn.0052d122
mov edx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x28], edx
jmp 0x4e8ebd
mov eax, dword [ebp - 0x2f0]
mov al, byte [eax]
test al, al
jne 0x4e8ea7
mov dword [esp], 0x6ee6a5
call fcn.0052d122
mov edx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x28], edx
jmp 0x4e8ebd
mov eax, dword [ebp - 0x2f0]
mov dword [esp], eax
call fcn.0052d122
mov edx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x28], edx
mov al, byte [0x7bdf34]
test al, al
je 0x4e901a
mov eax, dword [0x7bdf44]
test eax, eax
je 0x4e901a
mov eax, dword [ebp - 0xec]
mov dword [esp + 4], 0x6ee6b6
mov dword [esp], eax
call fcn.004e3559
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0xdd]
mov dword [esp + 8], eax
lea eax, [ebp - 0xdc]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x9c]
mov dword [esp], eax
call fcn.004e45f1
test al, al
je 0x4e901a
mov al, byte [ebp - 0xdd]
mov edi, eax
and edi, 0xff
mov esi, dword [ebp - 0xdc]
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 4]
mov eax, dword [0x7bdf44]
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004df2b8
test al, al
je 0x4e8fc4
mov al, byte [0x7bde7b]
and eax, 0xff
test eax, eax
je 0x4e901a
mov al, byte [ebp - 0xdd]
test al, al
je 0x4e8f8b
mov ebx, 0x6edc8a
jmp 0x4e8f90
mov ebx, 0x6edc8f
mov eax, dword [ebp - 0xdc]
mov ecx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov edx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0x6ee6d0
call fcn.004efae1
jmp 0x4e901a
mov al, byte [0x7bde7b]
and eax, 0xff
test eax, eax
je 0x4e901a
mov al, byte [ebp - 0xdd]
test al, al
je 0x4e8fe3
mov ebx, 0x6edc8a
jmp 0x4e8fe8
mov ebx, 0x6edc8f
mov eax, dword [ebp - 0xdc]
mov ecx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov edx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0x6ee714
call fcn.004efae1
mov eax, dword [ebp - 0xec]
mov dword [esp + 4], 0x6edf26
mov dword [esp], eax
call fcn.004e3559
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x4e90d8
mov dword [esp + 4], 0x3b
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call 0x78fe9c
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
je 0x4e90d8
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0xa0], eax
jmp 0x4e9068
dec dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x1c]
jbe 0x4e9085
mov eax, dword [ebp - 0x5c]
dec eax
mov al, byte [eax]
movsx eax, al
mov dword [esp], eax
call fcn.0050efc8
test al, al
jne 0x4e9065
mov eax, dword [ebp - 0x5c]
mov byte [eax], 0
mov al, byte [0x7bdf1e]
test al, al
je 0x4e90d8
mov eax, dword [0x7bdf20]
test eax, eax
jne 0x4e90d8
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.00507174
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
je 0x4e90c6
mov eax, dword [ebp - 0x5c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp], eax
call fcn.00507b10
mov eax, dword [ebp - 0x5c]
mov dword [esp], eax
call 0x78ffe4
mov dword [ebp - 0x5c], 0
mov eax, dword [ebp - 0xec]
mov dword [esp + 4], 0x6ee754
mov dword [esp], eax
call fcn.004e3559
mov edx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x20], edx
mov eax, dword [ebp - 0xec]
mov dword [esp + 4], 0x6ee75d
mov dword [esp], eax
call fcn.004e3559
mov edx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x24], edx
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x24]
test eax, eax
jne 0x4e913c
mov eax, dword [ebp - 0xec]
mov dword [esp + 4], 0x6ee76b
mov dword [esp], eax
call fcn.004e3559
mov edx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x24], edx
mov edx, dword [ebp - 0xec]
mov dword [esp + 0xc], 0x200
lea eax, [ebp - 0x2ec]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ee788
mov dword [esp], edx
call fcn.004e34dd
test al, al
je 0x4e91d6
lea eax, [ebp - 0x370]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x368]
mov dword [esp + 8], eax
lea eax, [ebp - 0x360]
mov dword [esp + 4], eax
lea eax, [ebp - 0x2ec]
mov dword [esp], eax
call fcn.004e3983
test al, al
je 0x4e91d6
mov eax, dword [ebp - 0x360]
mov edx, dword [ebp - 0x35c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0x368]
mov ebx, dword [ebp - 0x364]
mov eax, dword [ebp - 0x360]
mov edx, dword [ebp - 0x35c]
sub ecx, eax
sbb ebx, edx
mov eax, ecx
mov edx, ebx
add eax, 1
adc edx, 0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0xec]
mov dword [esp + 0xc], 0x200
lea eax, [ebp - 0x2ec]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ee796
mov dword [esp], edx
call fcn.004e34dd
test al, al
je 0x4e94e7
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x68], 0xffffffff
mov al, byte [ebp - 0x2ec]
movsx eax, al
cmp eax, 0x78
ja case.default.0x4e9229
mov eax, dword [eax*4 + 0x6ee9cc]
jmp eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x68]
cmp eax, 0xffffffff
jne 0x4e93ab
mov al, byte [0x7bde7b]
and eax, 0xff
test eax, eax
je 0x4e939c
lea eax, [ebp - 0x2ec]
mov dword [esp + 4], eax
mov dword [esp], 0x6ee7d0
call fcn.004efae1
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x68], 0
jmp 0x4e94e7
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x68]
cmp eax, 1
jne 0x4e94e7
mov eax, dword [0x7bdf2c]
cmp eax, 2
je 0x4e94e7
cmp dword [ebp - 0x1c], 0
je 0x4e9457
mov dword [esp + 4], 0x2f
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call 0x78fe9c
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0
jne 0x4e9404
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x6c], 1
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x68], 0
jmp 0x4e946b
inc dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
mov al, byte [eax]
movsx eax, al
mov dword [esp], eax
call fcn.0050f01a
cmp eax, 0x78
jne 0x4e942a
mov eax, dword [ebp - 0x60]
inc eax
mov al, byte [eax]
cmp al, 0x2d
jne 0x4e942a
add dword [ebp - 0x60], 2
mov dword [esp + 4], 0x6edeb3
mov eax, dword [ebp - 0x60]
mov dword [esp], eax
call fcn.0050f050
test eax, eax
je 0x4e946b
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x6c], 1
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x68], 0
jmp 0x4e946b
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x6c], 1
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x68], 0
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x6c]
cmp eax, 1
jne 0x4e94e7
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x24]
mov dword [esp + 4], 0x2e
mov dword [esp], eax
call 0x78fe4c
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0
je 0x4e94e7
mov dword [esp + 4], 0x6ee7f3
mov eax, dword [ebp - 0x60]
mov dword [esp], eax
call fcn.0050f050
test eax, eax
je 0x4e94c3
mov dword [esp + 4], 0x6ee7f7
mov eax, dword [ebp - 0x60]
mov dword [esp], eax
call fcn.0050f050
test eax, eax
jne 0x4e94e7
mov al, byte [0x7bde7b]
and eax, 0xff
test eax, eax
je 0x4e94dd
mov dword [esp], 0x6ee7fc
call fcn.004efae1
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x6c], 0
cmp dword [ebp - 0x7c], 0xc7
jle 0x4e9508
cmp dword [ebp - 0x7c], 0x12b
jg 0x4e9508
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
or eax, 2
mov edx, eax
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
cmp dword [ebp - 0x7c], 0xcc
jne 0x4e958a
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x18], 0
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov al, byte [ebp - 0x49]
xor eax, 1
test al, al
je 0x4e957e
mov al, byte [0x7af14c]
test al, al
je 0x4e9566
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4e9566
call fcn.004e4787
jmp 0x4e9574
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
mov dword [ebp - 0x34], 0x23
jmp 0x4ea656
cmp dword [ebp - 0x7c], 0x12d
je 0x4e95c4
cmp dword [ebp - 0x7c], 0x12e
je 0x4e95c4
cmp dword [ebp - 0x7c], 0x12f
je 0x4e95c4
cmp dword [ebp - 0x7c], 0x133
je 0x4e95c4
cmp dword [ebp - 0x7c], 0x134
je 0x4e95c4
cmp dword [ebp - 0x7c], 0x12c
jne 0x4e98ef
cmp dword [ebp - 0x7c], 0x12c
jne 0x4e95eb
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x4e95eb
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
or eax, 2
mov edx, eax
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
jmp 0x4e98ef
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x4e95fc
mov ebx, 0x6ee844
jmp 0x4e9601
mov ebx, 0x6ee2ca
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x4e961b
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x20]
mov dword [esp], eax
call fcn.004f00bf
jmp 0x4e9620
mov eax, 0x6ee851
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ee85d
mov dword [esp], 0
call fcn.004ef9ca
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x18], 0
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
cmp byte [ebp - 0x68], 0
je 0x4e979b
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov al, byte [ebp - 0x4a]
and eax, 0xff
mov ecx, dword [ebp - 0xe4]
mov ebx, dword [ebp - 0x38]
mov dword [esp + 0x38], ebx
mov ebx, dword [ebp - 0x7c]
mov dword [esp + 0x34], ebx
mov ebx, dword [ebp - 0x1c]
mov dword [esp + 0x30], ebx
mov ebx, dword [ebp - 0x40]
mov dword [esp + 0x2c], ebx
lea ebx, [ebp - 0x335]
mov dword [esp + 0x28], ebx
lea ebx, [ebp - 0x305]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 8], 0
mov dword [esp + 4], ecx
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004e4aa9
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0x23
jne 0x4e970a
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x18]
test eax, eax
jns 0x4e9750
mov al, byte [0x7af14c]
test al, al
je 0x4e972a
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4e972a
call fcn.004e4787
jmp 0x4e9738
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x34], eax
jmp 0x4ea656
mov al, byte [ebp - 0x49]
xor eax, 1
test al, al
je 0x4e9853
mov al, byte [0x7af14c]
test al, al
je 0x4e977e
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4e977e
call fcn.004e4787
jmp 0x4e978c
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
jmp 0x4e9853
cmp byte [ebp - 0x49], 0
je 0x4e981b
mov al, byte [ebp - 0x65]
xor eax, 1
test al, al
je 0x4e981b
mov al, byte [ebp - 0x4a]
and eax, 0xff
mov ecx, dword [ebp - 0xe4]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp], ecx
call fcn.004e3c39
test al, al
je 0x4e981b
mov al, byte [ebp - 0x49]
xor eax, 1
test al, al
je 0x4e9853
mov al, byte [0x7af14c]
test al, al
je 0x4e9801
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4e9801
call fcn.004e4787
jmp 0x4e980f
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
jmp 0x4e9853
mov al, byte [0x7af14c]
test al, al
je 0x4e983b
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4e983b
call fcn.004e4787
jmp 0x4e9849
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
mov eax, dword [ebp - 0x7c]
cmp eax, 0x12e
je 0x4e98b1
cmp eax, 0x12e
jg 0x4e986d
cmp eax, 0x12d
je 0x4e9883
jmp 0x4e98e3
sub eax, 0x133
cmp eax, 1
ja 0x4e98e3
mov dword [ebp - 0x34], 0x30
jmp 0x4ea656
mov eax, dword [0x7bdefc]
test eax, eax
je 0x4e98df
mov eax, dword [0x7bdefc]
mov dword [esp + 4], 0x6edf62
mov dword [esp], eax
call fcn.0050f050
test eax, eax
je 0x4e98df
mov dword [ebp - 0x34], 0x30
jmp 0x4ea656
mov eax, dword [0x7bdefc]
test eax, eax
je 0x4e98e2
mov eax, dword [0x7bdefc]
mov dword [esp + 4], 0x6edf62
mov dword [esp], eax
call fcn.0050f050
test eax, eax
je 0x4e98e2
mov dword [ebp - 0x34], 0x30
jmp 0x4ea656
nop
jmp 0x4e98e3
nop
mov dword [ebp - 0x34], 6
jmp 0x4ea656
cmp byte [ebp - 0x66], 0
je 0x4e9989
cmp dword [ebp - 0x7c], 0x130
jne 0x4e9989
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x4c]
mov dword [esp], eax
call fcn.0052cc01
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ee870
mov dword [esp], 0
call fcn.004ef9ca
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
or eax, 2
mov edx, eax
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
mov al, byte [ebp - 0x49]
xor eax, 1
test al, al
je 0x4e997d
mov al, byte [0x7af14c]
test al, al
je 0x4e9965
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4e9965
call fcn.004e4787
jmp 0x4e9973
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
mov dword [ebp - 0x34], 0x22
jmp 0x4ea656
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
call fcn.004e6915
mov al, byte [0x7bdea9]
test al, al
je 0x4e9acb
mov dword [ebp - 0x64], 0
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x68]
inc eax
cmp eax, 5
ja 0x4e99e8
mov eax, dword [eax*4 + 0x6eebb0]
jmp eax
mov al, byte [0x7bde7b]
and eax, 0xff
test eax, eax
je 0x4e9a0f
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x68]
mov dword [esp + 4], eax
mov dword [esp], 0x6ee8b4
call fcn.004efae1
jmp 0x4e9a0f
cmp dword [ebp - 0x64], 0
je 0x4e9a5e
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x4c]
mov dword [esp + 4], 0x2e
mov dword [esp], eax
call 0x78fe4c
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
je 0x4e9a5e
mov eax, dword [ebp - 0x64]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xa8]
mov dword [esp], eax
mov eax, dword [0x7bfa34]
call eax
test eax, eax
jne 0x4e9a5e
mov eax, dword [ebp - 0xa8]
mov byte [eax], 0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
and eax, 1
test eax, eax
je 0x4e9a86
mov eax, dword [ebp + 0x14]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ee8d8
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004eca65
jmp 0x4e9aac
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
and eax, 0x40
test eax, eax
je 0x4e9aac
mov eax, dword [ebp + 0x14]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ee8de
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004eca65
cmp dword [ebp - 0x64], 0
je 0x4e9acb
mov eax, dword [ebp + 0x14]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x64]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004eca65
cmp byte [ebp - 0x66], 0
je 0x4e9bfb
cmp dword [ebp - 0x7c], 0xc8
jne 0x4e9bfb
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x4e9bfb
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x24]
mov dword [esp], eax
call fcn.004ebb3d
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0xffffffff
je 0x4e9bfb
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x60]
cmp dword [ebp - 0xac], eax
jg 0x4e9bfb
mov eax, dword [ebp - 0x28]
xor eax, 0xffffffff
mov dword [ebp - 0x398], eax
mov eax, dword [ebp - 0x24]
xor eax, 0xffffffff
mov dword [ebp - 0x394], eax
mov esi, dword [ebp - 0x398]
mov edi, dword [ebp - 0x394]
mov eax, edi
or eax, esi
test eax, eax
je 0x4e9b82
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x5c]
mov eax, dword [eax + 0x58]
mov edi, eax
xor edi, dword [ebp - 0x28]
mov dword [ebp - 0x3a0], edi
mov eax, edx
xor eax, dword [ebp - 0x24]
mov dword [ebp - 0x39c], eax
mov esi, dword [ebp - 0x3a0]
mov edi, dword [ebp - 0x39c]
mov eax, edi
or eax, esi
test eax, eax
jne 0x4e9bfb
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x4c]
mov dword [esp], eax
call fcn.0052cc01
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ee8e4
mov dword [esp], 0
call fcn.004ef9ca
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
or eax, 2
mov edx, eax
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
mov al, byte [0x7af14c]
test al, al
je 0x4e9bd7
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4e9bd7
call fcn.004e4787
jmp 0x4e9be5
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
mov dword [ebp - 0x34], 0x22
jmp 0x4ea656
cmp dword [ebp - 0x7c], 0x1a0
jne 0x4e9c6d
mov eax, dword [ebp + 0x10]
mov esi, dword [eax + 0x10]
mov edi, dword [eax + 0x14]
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
add eax, ecx
adc edx, ebx
cmp edi, edx
jg 0x4e9c6d
cmp edi, edx
jl 0x4e9c29
cmp esi, eax
jae 0x4e9c6d
mov al, byte [0x7af14c]
test al, al
je 0x4e9c49
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4e9c49
call fcn.004e4787
jmp 0x4e9c57
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
mov dword [ebp - 0x34], 0x27
jmp 0x4ea656
cmp dword [ebp - 0x7c], 0x1a0
je 0x4e9d0f
mov al, byte [0x7bde7c]
xor eax, 1
test al, al
je 0x4e9e04
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
test edx, edx
js 0x4e9e04
test edx, edx
jg 0x4e9ca8
cmp eax, 0
jbe 0x4e9e04
cmp dword [ebp - 0x7c], 0xc8
jne 0x4e9e04
mov eax, dword [ebp - 0x30]
xor ah, 0
mov dword [ebp - 0x3a8], eax
mov eax, dword [ebp - 0x2c]
xor ah, 0
mov dword [ebp - 0x3a4], eax
mov esi, dword [ebp - 0x3a8]
mov edi, dword [ebp - 0x3a4]
mov eax, edi
or eax, esi
test eax, eax
jne 0x4e9e04
cmp dword [ebp - 0x24], 0
js 0x4e9e04
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
cmp dword [ebp - 0x24], edx
jg 0x4e9e04
cmp dword [ebp - 0x24], edx
jl 0x4e9d0f
cmp dword [ebp - 0x28], eax
ja 0x4e9e04
mov dword [esp + 4], 0x6ee950
mov dword [esp], 0
call fcn.004ef698
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x18], 0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
or eax, 2
mov edx, eax
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
cmp byte [ebp - 0x49], 0
je 0x4e9dc0
mov al, byte [ebp - 0x4a]
and eax, 0xff
mov ecx, dword [ebp - 0xe4]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp], ecx
call fcn.004e3c39
test al, al
je 0x4e9dc0
mov al, byte [ebp - 0x49]
xor eax, 1
test al, al
je 0x4e9df8
mov al, byte [0x7af14c]
test al, al
je 0x4e9da6
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4e9da6
call fcn.004e4787
jmp 0x4e9db4
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
jmp 0x4e9df8
mov al, byte [0x7af14c]
test al, al
je 0x4e9de0
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4e9de0
call fcn.004e4787
jmp 0x4e9dee
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
mov dword [ebp - 0x34], 0x22
jmp 0x4ea656
mov eax, dword [ebp - 0x30]
xor ah, 0
mov dword [ebp - 0x3b0], eax
mov eax, dword [ebp - 0x2c]
xor ah, 0
mov dword [ebp - 0x3ac], eax
mov esi, dword [ebp - 0x3b0]
mov edi, dword [ebp - 0x3ac]
mov eax, edi
or eax, esi
test eax, eax
je 0x4e9e63
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
mov edi, eax
xor edi, dword [ebp - 0x30]
mov dword [ebp - 0x3b8], edi
mov eax, edx
xor eax, dword [ebp - 0x2c]
mov dword [ebp - 0x3b4], eax
mov esi, dword [ebp - 0x3b8]
mov edi, dword [ebp - 0x3b4]
mov eax, edi
or eax, esi
test eax, eax
jne 0x4e9ecf
cmp dword [ebp - 0x7c], 0xce
jne 0x4e9f13
mov eax, dword [ebp - 0x30]
xor ah, 0
mov dword [ebp - 0x3c0], eax
mov eax, dword [ebp - 0x2c]
xor ah, 0
mov dword [ebp - 0x3bc], eax
mov ebx, dword [ebp - 0x3c0]
mov esi, dword [ebp - 0x3bc]
mov eax, esi
or eax, ebx
test eax, eax
jne 0x4e9f13
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
mov edi, eax
xor edi, 0
mov dword [ebp - 0x3c8], edi
mov eax, edx
xor ah, 0
mov dword [ebp - 0x3c4], eax
mov ebx, dword [ebp - 0x3c8]
mov esi, dword [ebp - 0x3c4]
mov eax, esi
or eax, ebx
test eax, eax
je 0x4e9f13
mov al, byte [0x7af14c]
test al, al
je 0x4e9eef
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4e9eef
call fcn.004e4787
jmp 0x4e9efd
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
mov dword [ebp - 0x34], 0x27
jmp 0x4ea656
mov eax, dword [ebp - 0x28]
xor eax, 0xffffffff
mov dword [ebp - 0x3d0], eax
mov eax, dword [ebp - 0x24]
xor eax, 0xffffffff
mov dword [ebp - 0x3cc], eax
mov ebx, dword [ebp - 0x3d0]
mov esi, dword [ebp - 0x3cc]
mov eax, esi
or eax, ebx
test eax, eax
jne 0x4e9f52
mov eax, dword [ebp + 0x10]
mov dword [eax + 8], 0xffffffff
mov dword [eax + 0xc], 0xffffffff
jmp 0x4e9f89
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x6c]
cmp eax, 1
jne 0x4e9f70
mov eax, dword [ebp + 0x10]
mov dword [eax + 8], 0xffffffff
mov dword [eax + 0xc], 0xffffffff
jmp 0x4e9f89
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
add eax, ecx
adc edx, ebx
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
mov eax, dword [0x7bdd00]
test eax, eax
je 0x4ea1aa
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
and eax, 2
test eax, eax
je 0x4ea1aa
mov dword [esp + 4], 0x6ee98b
mov dword [esp], 0
call fcn.004ef698
mov eax, dword [ebp - 0x28]
xor eax, 0xffffffff
mov dword [ebp - 0x3d8], eax
mov eax, dword [ebp - 0x24]
xor eax, 0xffffffff
mov dword [ebp - 0x3d4], eax
mov ecx, dword [ebp - 0x3d8]
mov ebx, dword [ebp - 0x3d4]
mov eax, ebx
or eax, ecx
test eax, eax
je 0x4ea13e
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
add eax, ecx
adc edx, ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00505cb6
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.004ef698
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
add eax, ecx
adc edx, ebx
test edx, edx
js 0x4ea079
test edx, edx
jg 0x4ea035
cmp eax, 0x3ff
jbe 0x4ea079
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
add eax, ecx
adc edx, ebx
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xa
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00501a0b
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ee994
mov dword [esp], 0
call fcn.004ef9ca
mov eax, dword [ebp - 0x30]
xor ah, 0
mov dword [ebp - 0x3e0], eax
mov eax, dword [ebp - 0x2c]
xor ah, 0
mov dword [ebp - 0x3dc], eax
mov esi, dword [ebp - 0x3e0]
mov edi, dword [ebp - 0x3dc]
mov eax, edi
or eax, esi
test eax, eax
je 0x4ea163
cmp dword [ebp - 0x24], 0
js 0x4ea112
cmp dword [ebp - 0x24], 0
jg 0x4ea0be
cmp dword [ebp - 0x28], 0x3ff
jbe 0x4ea112
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xa
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00501a0b
mov ebx, eax
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00505cb6
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ee99a
mov dword [esp], 0
call fcn.004ef9ca
jmp 0x4ea163
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00505cb6
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ee9ae
mov dword [esp], 0
call fcn.004ef9ca
jmp 0x4ea163
mov al, byte [0x7bdd15]
test al, al
je 0x4ea14e
mov eax, 0x6ee9bd
jmp 0x4ea153
mov eax, 0x6ee851
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.004ef698
cmp dword [ebp - 0x1c], 0
je 0x4ea196
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], eax
mov dword [esp], 7
call fcn.0052c925
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ee9c5
mov dword [esp], 0
call fcn.004ef9ca
jmp 0x4ea1aa
mov dword [esp + 4], 0x6ee67b
mov dword [esp], 0
call fcn.004ef698
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
and eax, 2
test eax, eax
jne 0x4ea1c2
mov al, byte [0x7bde7a]
xor eax, 1
test al, al
jne 0x4ea1e5
cmp byte [ebp - 0x65], 0
jne 0x4ea1e5
mov al, byte [0x7bdd58]
test al, al
je 0x4ea4b6
mov al, byte [0x7bdd16]
xor eax, 1
test al, al
je 0x4ea4b6
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x18], 0
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
cmp byte [ebp - 0x68], 0
je 0x4ea344
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov al, byte [ebp - 0x4a]
and eax, 0xff
mov ecx, dword [ebp - 0xe4]
mov ebx, dword [ebp - 0x38]
mov dword [esp + 0x38], ebx
mov ebx, dword [ebp - 0x7c]
mov dword [esp + 0x34], ebx
mov ebx, dword [ebp - 0x1c]
mov dword [esp + 0x30], ebx
mov ebx, dword [ebp - 0x40]
mov dword [esp + 0x2c], ebx
lea ebx, [ebp - 0x335]
mov dword [esp + 0x28], ebx
lea ebx, [ebp - 0x305]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 8], 0
mov dword [esp + 4], ecx
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004e4aa9
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0x23
jne 0x4ea2b3
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x18]
test eax, eax
jns 0x4ea2f9
mov al, byte [0x7af14c]
test al, al
je 0x4ea2d3
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4ea2d3
call fcn.004e4787
jmp 0x4ea2e1
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x34], eax
jmp 0x4ea656
mov al, byte [ebp - 0x49]
xor eax, 1
test al, al
je 0x4ea495
mov al, byte [0x7af14c]
test al, al
je 0x4ea327
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4ea327
call fcn.004e4787
jmp 0x4ea335
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
jmp 0x4ea495
cmp byte [ebp - 0x65], 0
je 0x4ea395
mov al, byte [ebp - 0x49]
xor eax, 1
test al, al
je 0x4ea495
mov al, byte [0x7af14c]
test al, al
je 0x4ea378
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4ea378
call fcn.004e4787
jmp 0x4ea386
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
jmp 0x4ea495
mov al, byte [0x7bdd58]
test al, al
je 0x4ea3e7
mov al, byte [0x7bdd16]
xor eax, 1
test al, al
je 0x4ea3e7
mov al, byte [0x7af14c]
test al, al
je 0x4ea3ca
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4ea3ca
call fcn.004e4787
jmp 0x4ea3d8
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
jmp 0x4ea495
cmp byte [ebp - 0x49], 0
je 0x4ea45d
mov al, byte [ebp - 0x4a]
and eax, 0xff
mov ecx, dword [ebp - 0xe4]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp], ecx
call fcn.004e3c39
test al, al
je 0x4ea45d
mov al, byte [ebp - 0x49]
xor eax, 1
test al, al
je 0x4ea495
mov al, byte [0x7af14c]
test al, al
je 0x4ea443
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4ea443
call fcn.004e4787
jmp 0x4ea451
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
jmp 0x4ea495
mov al, byte [0x7af14c]
test al, al
je 0x4ea47d
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4ea47d
call fcn.004e4787
jmp 0x4ea48b
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
cmp dword [ebp - 0x7c], 0x1f8
jne 0x4ea4aa
mov dword [ebp - 0x34], 0x17
jmp 0x4ea656
mov dword [ebp - 0x34], 0x23
jmp 0x4ea656
lea eax, [ebp - 0xd8]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004e6681
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0x19
je 0x4ea527
mov al, byte [0x7af14c]
test al, al
je 0x4ea501
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4ea501
call fcn.004e4787
jmp 0x4ea50f
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x34], eax
jmp 0x4ea656
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov al, byte [ebp - 0x4a]
and eax, 0xff
mov ebx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0x38]
mov dword [esp + 0x38], esi
mov esi, dword [ebp - 0x7c]
mov dword [esp + 0x34], esi
mov esi, dword [ebp - 0x1c]
mov dword [esp + 0x30], esi
mov esi, dword [ebp - 0x40]
mov dword [esp + 0x2c], esi
lea esi, [ebp - 0x335]
mov dword [esp + 0x28], esi
lea esi, [ebp - 0x305]
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004e4aa9
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x18]
test eax, eax
js 0x4ea5fb
mov al, byte [ebp - 0x49]
xor eax, 1
test al, al
je 0x4ea633
mov al, byte [0x7af14c]
test al, al
je 0x4ea5e1
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4ea5e1
call fcn.004e4787
jmp 0x4ea5ef
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
jmp 0x4ea633
mov al, byte [0x7af14c]
test al, al
je 0x4ea61b
mov edx, dword [0x7af150]
mov eax, dword [ebp - 0xe4]
cmp edx, eax
jne 0x4ea61b
call fcn.004e4787
jmp 0x4ea629
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.004ce03d
mov dword [ebp - 0xe4], 0xffffffff
mov eax, dword [0x7bdf50]
test eax, eax
jne 0x4ea64a
mov eax, dword [ebp - 0xd8]
mov dword [esp], eax
call 0x790044
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x34], eax
jmp 0x4ea656
nop
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
call 0x78ffe4
mov dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call 0x78ffe4
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x2f0]
mov dword [esp], eax
call 0x78ffe4
mov dword [ebp - 0x2f0], 0
lea eax, [ebp - 0xec]
mov dword [esp], eax
call fcn.004e37da
lea eax, [ebp - 0xc4]
mov dword [esp], eax
call fcn.004e2cd0
mov eax, dword [ebp - 0x34]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret