Function at 0x4ec49c
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x66
push 0
push 0
dec ecx
jne 0x4ec4a4
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
lea eax, [ebp - 0x248]
mov edx, dword [0x546748]
call fcn.00403e48
xor eax, eax
push ebp
push 0x4efcbd
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
mov byte [eax - 5], 0
mov eax, dword [0x4efccc]
mov dword [ebp - 0x38], eax
call fcn.004e3200
mov ebx, eax
call fcn.004e3200
test eax, eax
je 0x4ec522
mov eax, ebx
call fcn.005fb8c0
cmp dword [ebp - 4], 0xf00
je 0x4ec522
cmp dword [ebp - 4], 0xf14
je 0x4ec522
cmp dword [ebp - 4], 0xf28
je 0x4ec522
cmp dword [ebp - 4], 0xf3c
je 0x4ec522
mov eax, ebx
call fcn.005d8a34
mov eax, dword [ebp - 4]
cmp eax, 0x1194
jg 0x4ec8e7
je 0x4eeda5
cmp eax, 0xe58
jg 0x4ec71a
je 0x4ee7cb
cmp eax, 0xd9e
jg 0x4ec634
je 0x4eddbe
cmp eax, 0xd0c
jg 0x4ec5ce
je 0x4ed974
cmp eax, 0xca8
jg 0x4ec5a3
je 0x4ed5c2
add eax, 0xfffff448
sub eax, 0x1c
jb 0x4ecca3
add eax, 0xffffffcc
sub eax, 4
jb 0x4ed0af
sub eax, 0x74
je 0x4ed18b
sub eax, 0x14
je 0x4ed385
jmp case.0x4ecbc5.5306
sub eax, 0xcbc
je 0x4ed6b4
sub eax, 0x14
je 0x4ed7ad
sub eax, 0x14
je 0x4ed7ad
sub eax, 0x14
je 0x4ed7ad
jmp case.0x4ecbc5.5306
cmp eax, 0xd70
jg 0x4ec609
je 0x4edb8e
sub eax, 0xd20
je 0x4eda37
add eax, 0xffffffec
sub eax, 5
jb 0x4eda37
sub eax, 0xf
je 0x4eda78
sub eax, 0x14
je 0x4edac5
jmp case.0x4ecbc5.5306
sub eax, 0xd75
je 0x4edc8d
sub eax, 0xf
je 0x4edcfa
sub eax, 0x14
je 0x4edd37
sub eax, 5
je 0x4edd4f
jmp case.0x4ecbc5.5306
cmp eax, 0xe0b
jg 0x4ec6a5
je 0x4ee64f
cmp eax, 0xdd4
jg 0x4ec677
je 0x4ee1b0
sub eax, 0xdac
je 0x4ede97
sub eax, 0xa
je 0x4eddeb
dec eax
je 0x4ede10
sub eax, 9
je 0x4ee1b0
jmp case.0x4ecbc5.5306
sub eax, 0xde8
je 0x4ee1b0
add eax, 0xfffffff6
sub eax, 2
jb 0x4ee442
sub eax, 8
je 0x4ee46b
sub eax, 0xa
je 0x4ee475
jmp case.0x4ecbc5.5306
cmp eax, 0xe38
jge 0x4ec6d7
sub eax, 0xe10
je 0x4ee65b
sub eax, 5
je 0x4ee672
sub eax, 0xf
je 0x4ee6bc
sub eax, 0xa
je 0x4ee6c6
jmp case.0x4ecbc5.5306
cmp eax, 0xe55
jg 0x4ec703
je 0x4ee6f4
add eax, 0xfffff1c8
sub eax, 2
jb 0x4ee6d0
add eax, 0xfffffffd
sub eax, 5
jb 0x4ee6df
jmp case.0x4ecbc5.5306
sub eax, 0xe56
je 0x4ee737
dec eax
je 0x4ee781
jmp case.0x4ecbc5.5306
cmp eax, 0xf28
jg 0x4ec7fa
je 0x4eea23
cmp eax, 0xea1
jg 0x4ec797
je 0x4ee995
cmp eax, 0xe60
jg 0x4ec76c
je 0x4ee898
sub eax, 0xe5b
je 0x4ee815
dec eax
je 0x4ee840
sub eax, 2
je 0x4ee86b
dec eax
je 0x4ee87c
jmp case.0x4ecbc5.5306
sub eax, 0xe62
je 0x4ee88a
sub eax, 0x12
je 0x4ee943
sub eax, 0x14
je 0x4ee94f
sub eax, 0x14
je 0x4ee97f
jmp case.0x4ecbc5.5306
cmp eax, 0xedd
jg 0x4ec7cf
je 0x4ee9d1
sub eax, 0xeb0
je 0x4ee9a1
sub eax, 0x14
je 0x4ee9ad
sub eax, 5
je 0x4ee9b9
sub eax, 0xf
je 0x4ee9c5
jmp case.0x4ecbc5.5306
sub eax, 0xee2
je 0x4ee9dd
sub eax, 0xa
je 0x4ee9e9
sub eax, 0x14
je 0x4ee9f5
sub eax, 0x14
je 0x4eea0d
jmp case.0x4ecbc5.5306
cmp eax, 0xfb4
jg 0x4ec87e
je 0x4eeb87
cmp eax, 0xf5f
jge 0x4ec83c
sub eax, 0xf3c
je 0x4eea39
sub eax, 0x14
je 0x4eea4f
sub eax, 5
je 0x4eea80
add eax, 0xfffffffb
sub eax, 2
jb 0x4eeac9
jmp case.0x4ecbc5.5306
cmp eax, 0xf78
jg 0x4ec865
je 0x4eeb87
add eax, 0xfffff0a1
sub eax, 2
jb 0x4eeb0f
sub eax, 3
je 0x4eeb87
jmp case.0x4ecbc5.5306
sub eax, 0xf8c
je 0x4eeb87
sub eax, 0x14
je 0x4eeb87
jmp case.0x4ecbc5.5306
cmp eax, 0x107c
jg 0x4ec8b6
je 0x4eec31
sub eax, 0xfb9
je 0x4eeb87
sub eax, 5
je 0x4eeb87
sub eax, 0xa
je 0x4eec0f
sub eax, 0x50
je 0x4eec25
jmp case.0x4ecbc5.5306
add eax, 0xffffef7f
sub eax, 2
jb 0x4eec73
je 0x4eec82
add eax, 0xfffffffd
sub eax, 0xd
jb 0x4eed86
add eax, 0xffffffef
sub eax, 0x29
jb 0x4ee1b0
jmp case.0x4ecbc5.5306
cmp eax, 0x13c6
jge 0x4ecaba
cmp eax, 0x11d5
jg 0x4ec9e8
je 0x4eefd1
add eax, 0xffffee62
cmp eax, 0x33
ja case.0x4ecbc5.5306
jmp dword [eax*4 + 0x4ec918]
cmp eax, 0x132e
jg 0x4eca58
je 0x4ef0b6
cmp eax, 0x1220
jg 0x4eca2b
je 0x4ef00d
sub eax, 0x11f8
je 0x4eefe1
dec eax
je 0x4eefed
sub eax, 0x13
je 0x4eeff9
sub eax, 0xa
je 0x4ef003
jmp case.0x4ecbc5.5306
sub eax, 0x1225
je 0x4ef01d
sub eax, 5
je 0x4ef02f
sub eax, 5
je 0x4ef03d
sub eax, 0xf5
je 0x4ef08e
jmp case.0x4ecbc5.5306
cmp eax, 0x1388
jg 0x4eca90
je 0x4ef0e8
sub eax, 0x1333
je 0x4ef0c6
sub eax, 5
je 0x4ef0a2
sub eax, 5
je 0x4ef0d8
sub eax, 5
je 0x4ef098
jmp case.0x4ecbc5.5306
sub eax, 0x13ba
je 0x4ef128
dec eax
je 0x4ef134
dec eax
je 0x4ef140
add eax, 0xfffffffb
sub eax, 3
jb 0x4ef14c
jmp case.0x4ecbc5.5306
cmp eax, 0x14b7
jg 0x4ecba6
je 0x4ef58c
cmp eax, 0x1450
jg 0x4ecb42
je 0x4ef46e
cmp eax, 0x13d4
jg 0x4ecb11
je 0x4ef309
add eax, 0xffffec3a
sub eax, 3
jb 0x4ef36f
sub eax, 6
jb 0x4ef160
sub eax, 3
je 0x4ef297
dec eax
je 0x4ef2a3
jmp case.0x4ecbc5.5306
add eax, 0xffffec28
sub eax, 2
jb 0x4ef36f
add eax, 0xfffffffd
sub eax, 2
jb 0x4ef36f
sub eax, 0xd
je 0x4ef45a
sub eax, 5
je 0x4ef464
jmp case.0x4ecbc5.5306
cmp eax, 0x145f
jg 0x4ecb78
je 0x4ef4a6
sub eax, 0x1455
je 0x4ef478
sub eax, 5
je 0x4ef484
sub eax, 2
je 0x4ef48e
dec eax
je 0x4ef49a
jmp case.0x4ecbc5.5306
sub eax, 0x1482
je 0x4ee898
sub eax, 0xa
je 0x4ef4b0
sub eax, 0x23
je 0x4ef574
add eax, 0xfffffffb
sub eax, 2
jb 0x4ef582
jmp case.0x4ecbc5.5306
cmp eax, 0x14d7
jg 0x4ecc44
je 0x4ef68a
add eax, 0xffffeb47
cmp eax, 0x1d
ja case.0x4ecbc5.5306
jmp dword [eax*4 + 0x4ecbcc]
cmp eax, 0x16a8
jg 0x4ecc79
je 0x4ef69a
sub eax, 0x14e6
je 0x4ef931
dec eax
je 0x4ef967
dec eax
je 0x4ef980
dec eax
sub eax, 3
jb 0x4ef9f8
jmp case.0x4ecbc5.5306
sub eax, 0x16a9
je 0x4ef6f9
dec eax
je 0x4ef74d
dec eax
je 0x4ef778
add eax, 0xfffffff9
sub eax, 4
jb 0x4ef7a3
jmp case.0x4ecbc5.5306
mov al, byte [ebp - 4]
sub al, 0xb8
mov byte [ebp - 0x69], al
cmp byte [ebp - 0x69], 0
jne 0x4ecd04
mov eax, ebx
call fcn.005c504c
test al, al
jne 0x4ecd04
mov eax, ebx
call fcn.005c5084
test al, al
je 0x4ecd04
lea ecx, [ebp - 0x288]
mov edx, dword [ebx + 0x258]
mov eax, ebx
call fcn.005f2e04
lea edx, [ebp - 0x288]
lea eax, [ebx + 0x258]
call fcn.00546cb8
test eax, eax
jne 0x4ecd04
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x3ef0
call fcn.004f63fc
jmp case.0x4ecbc5.5306
mov al, byte [ebp - 0x69]
sub al, 3
jb 0x4ecd13
sub al, 0x13
jne 0x4ecff8
call fcn.004ebc80
xor eax, eax
mov dword [ebp - 0x70], eax
mov al, byte [ebp - 0x69]
sub al, 2
je 0x4ecd28
sub al, 0x14
jne 0x4ecd51
mov eax, ebx
call fcn.005c5084
test al, al
je 0x4ecd51
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x3ef0
call fcn.004f63fc
mov eax, dword [ebx + 0x4ac]
call fcn.00652098
mov dword [ebp - 0x70], eax
mov eax, dword [ebx + 0x300]
call fcn.0054ac9c
dec eax
jne 0x4ecd99
mov eax, ebx
call fcn.005c504c
test al, al
je 0x4ecd84
mov eax, dword [ebx + 0x300]
mov eax, dword [eax + 4]
mov esi, eax
lea edi, [ebp - 0x1cc]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
jmp 0x4ecda3
lea esi, [ebx + 0x258]
lea edi, [ebp - 0x1cc]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
jmp 0x4ecda3
mov dword [ebp - 0x1cc], 0x80000000
mov eax, ebx
call fcn.005ce130
mov edi, eax
call fcn.0065179c
mov esi, eax
mov al, byte [ebp - 0x69]
sub al, 2
je 0x4ecdbe
sub al, 0x14
jne 0x4ecdf8
mov eax, ebx
call fcn.005c504c
test al, al
jne 0x4ecdd2
cmp dword [ebx + 0x25c], 0
jg 0x4ecdec
mov eax, ebx
call fcn.005c5060
test al, al
je 0x4ecdf8
mov eax, dword [ebx + 0x300]
mov eax, dword [eax + 4]
cmp dword [eax + 4], 0
jle 0x4ecdf8
mov edx, 0xd
mov eax, esi
call fcn.00651a04
xor eax, eax
mov al, byte [ebp - 0x69]
mov edx, dword [0x672f2c]
movzx edx, word [edx + eax*2]
mov eax, esi
call fcn.00651a04
cmp byte [ebp - 0x69], 2
jne 0x4ece20
mov edx, 0xd
mov eax, esi
call fcn.00651a04
mov eax, dword [ebx + 0x300]
call fcn.0054ac9c
dec eax
jle 0x4ece45
mov eax, dword [ebx + 0x300]
mov edx, 1
call fcn.0054acac
mov eax, ebx
call fcn.005c6368
mov byte [ebx + 0x44b], 1
mov eax, ebx
call fcn.005c8a3c
mov edx, dword [ebx + 0xb0]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x80]
movsx eax, word [eax + 0x32]
mov dword [ebp - 0xa8], eax
cmp byte [ebp - 0x69], 0
jne 0x4ece85
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x37], 0
setne al
mov byte [ebx + 0x476], al
cmp byte [ebx + 0x476], 0
je 0x4ececa
mov eax, ebx
call fcn.005c504c
test al, al
je 0x4eceb3
lea ecx, [ebp - 0x228]
mov eax, dword [ebx + 0x300]
mov eax, dword [eax + 4]
mov edx, eax
mov eax, ebx
call fcn.005c81a4
jmp 0x4ececa
push esi
push edi
lea esi, [ebx + 0x34c]
lea edi, [ebp - 0x228]
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov dl, 0x30
mov eax, ebx
call fcn.00567f08
mov ecx, esi
mov dl, 0xd
mov eax, ebx
call fcn.005cf5e8
mov eax, ebx
call fcn.00567fbc
cmp byte [ebx + 0x476], 0
je 0x4ecf41
movsx eax, word [ebx + 0x33a]
cmp eax, dword [ebp - 0xa8]
jne 0x4ecf41
mov eax, dword [0x671c18]
mov eax, dword [eax]
mov dword [ebp - 0xb8], eax
mov eax, dword [0x671c18]
and dword [eax], 0xffffff7f
push 0
lea eax, [ebp - 0x228]
push eax
mov ecx, dword [ebx + 0x300]
mov dl, 2
mov eax, ebx
call fcn.005cf610
mov eax, dword [0x671c18]
mov edx, dword [ebp - 0xb8]
mov dword [eax], edx
mov byte [ebx + 0x476], 0
mov eax, dword [0x672b54]
mov eax, dword [eax]
call fcn.004ac11c
test al, al
je 0x4ecf5b
mov eax, 0x3070
call fcn.004accd0
mov byte [ebx + 0x44b], 0
mov eax, dword [0x671f30]
test byte [eax], 1
je 0x4ecfa9
cmp dword [ebp - 0x1cc], 0x80000000
je 0x4ecfa9
lea eax, [ebp - 0x1cc]
push eax
mov ecx, dword [esi + 4]
mov dl, 0x19
mov eax, ebx
call fcn.005cf5f8
cmp byte [ebx + 0x461], 0
je 0x4ecfa9
mov eax, 0x898
call fcn.004accd0
mov eax, dword [0x672b54]
mov eax, dword [eax]
mov byte [eax + 0xa], 1
mov eax, esi
call fcn.004028c0
cmp dword [ebp - 0x70], 0
je case.0x4ecbc5.5306
mov eax, ebx
call fcn.005ce130
cmp edi, eax
je case.0x4ecbc5.5306
mov eax, dword [ebx + 0x4ac]
call fcn.00652098
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x70]
mov al, byte [eax + 0x36]
mov edx, dword [ebp - 0xc0]
mov byte [edx + 0x36], al
mov eax, dword [ebp - 0xc0]
or byte [eax + 0x34], 4
jmp case.0x4ecbc5.5306
mov eax, dword [ebx + 0x300]
call fcn.0054ac9c
mov dword [ebp - 0xb0], eax
mov byte [ebp - 0x248], 3
mov al, byte [0x4efccc]
mov byte [ebp - 0x247], al
mov dword [ebp - 0x244], 0xd20
xor eax, eax
mov al, byte [ebp - 0x69]
mov edx, dword [0x672f2c]
movzx eax, word [edx + eax*2]
mov dword [ebp - 0x230], eax
mov byte [ebx + 0x47d], 1
lea ecx, [ebp - 0x248]
mov dl, 0xe
mov eax, ebx
call fcn.005cf5e8
mov byte [ebx + 0x47d], 0
mov eax, dword [0x671f30]
test byte [eax], 1
je case.0x4ecbc5.5306
cmp dword [ebp - 0xb0], 1
jne case.0x4ecbc5.5306
lea eax, [ebx + 0x258]
push eax
lea ecx, [ebp - 0x230]
mov dl, 0x19
mov eax, ebx
call fcn.005cf5f8
cmp byte [ebx + 0x461], 0
je case.0x4ecbc5.5306
mov eax, 0x898
call fcn.004accd0
mov eax, dword [0x672b54]
mov eax, dword [eax]
mov byte [eax + 0xa], 1
jmp case.0x4ecbc5.5306
call fcn.004ebc80
xor eax, eax
mov dword [ebp - 0x70], eax
mov eax, ebx
call fcn.005c5084
test al, al
je 0x4ed0e2
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x3ef0
call fcn.004f63fc
mov eax, dword [ebx + 0x4ac]
call fcn.00652098
mov dword [ebp - 0x70], eax
mov eax, ebx
call fcn.005ce130
mov edi, eax
call fcn.0065179c
mov esi, eax
mov edx, 0xc
mov eax, esi
call fcn.00651a78
mov dl, byte [ebp - 4]
sub dl, 8
mov eax, esi
call fcn.006519dc
mov dl, 0x30
mov eax, ebx
call fcn.00567f08
mov ecx, esi
mov dl, 0xd
mov eax, ebx
call fcn.005cf5e8
mov eax, ebx
call fcn.00567fbc
mov eax, esi
call fcn.004028c0
cmp dword [ebp - 0x70], 0
je 0x4ed168
mov eax, ebx
call fcn.005ce130
cmp edi, eax
je 0x4ed168
mov eax, dword [ebx + 0x4ac]
call fcn.00652098
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x70]
mov al, byte [eax + 0x36]
mov edx, dword [ebp - 0xc4]
mov byte [edx + 0x36], al
mov eax, dword [ebp - 0xc4]
or byte [eax + 0x34], 4
mov eax, dword [0x672b54]
mov eax, dword [eax]
call fcn.004ac11c
test al, al
je case.0x4ecbc5.5306
mov eax, 0x3070
call fcn.004accd0
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005c504c
test al, al
jne 0x4ed1a2
mov eax, dword [ebx + 0x318]
cmp dword [eax + 0x18], 0
jle 0x4ed1b3
mov eax, dword [ebp + 8]
push eax
mov al, 1
call fcn.004e5ab8
pop ecx
jmp case.0x4ecbc5.5306
lea edx, [ebx + 0x258]
mov eax, ebx
call fcn.005c795c
test al, al
je 0x4ed1d5
mov eax, dword [0x671c54]
mov eax, dword [eax]
call fcn.006233ec
jmp case.0x4ecbc5.5306
lea esi, [ebx + 0x258]
cmp dword [esi], 0
jle 0x4ed246
cmp dword [esi + 4], 0
jne 0x4ed246
mov edx, dword [esi]
mov eax, ebx
call fcn.00566a44
mov edx, eax
mov eax, ebx
call fcn.00566abc
cmp eax, dword [esi]
jle 0x4ed246
mov edx, dword [esi]
mov eax, ebx
call fcn.005c0310
dec eax
jne 0x4ed246
mov eax, dword [esi]
mov edx, dword [ebx + 0xb0]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4]
cmp byte [eax + 0x3c], 0
jne 0x4ed246
mov eax, dword [esi]
mov edx, dword [ebx + 0xb0]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4 - 4]
cmp byte [eax + 0x3c], 0
je 0x4ed246
mov eax, dword [esi]
mov edx, dword [ebx + 0xb0]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4 + 4]
cmp byte [eax + 0x3c], 0
jne 0x4ed24a
xor eax, eax
jmp 0x4ed24c
mov al, 1
mov edx, dword [ebp + 8]
mov byte [edx - 5], al
mov eax, dword [ebx + 0x258]
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x25c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebx + 0x258]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x25c]
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0xb0]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0x14]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 0x10]
call fcn.00554d68
mov esi, eax
mov eax, esi
sub ax, 0x20
jb 0x4ed2a3
mov eax, esi
call fcn.0063327c
test al, al
je 0x4ed2a7
xor eax, eax
jmp 0x4ed2a9
mov al, 1
mov byte [ebp - 0xb9], al
cmp byte [ebp - 0xb9], 0
je 0x4ed2bf
mov byte [ebx + 0x43e], 1
or dword [ebp - 0x38], 0x100
lea edx, [ebp - 0x268]
mov eax, ebx
call fcn.005c8b30
mov eax, dword [ebp - 0x268]
cmp eax, dword [ebp - 0x258]
jne 0x4ed2f1
cmp dword [ebp - 0x254], 1
jne 0x4ed2f1
mov byte [ebx + 0x446], 1
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x38]
push eax
xor ecx, ecx
mov dl, 0x10
mov eax, ebx
call fcn.005cf62c
mov byte [ebx + 0x446], 0
cmp byte [ebx + 0x461], 0
je 0x4ed35d
mov eax, dword [ebx + 0x4ac]
call fcn.00652098
mov dword [ebp - 0xc8], eax
mov eax, esi
sub ax, 0xb
je 0x4ed337
sub ax, 0x15
jne 0x4ed343
mov eax, dword [ebp - 0xc8]
or byte [eax + 0x34], 2
jmp 0x4ed353
cmp si, 0x20
jbe 0x4ed353
mov eax, dword [ebp - 0xc8]
or byte [eax + 0x34], 1
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x35], 1
mov byte [ebx + 0x43e], 0
cmp byte [ebp - 0xb9], 0
je 0x4ed376
mov dl, 1
mov eax, ebx
call fcn.005e55e0
mov eax, 0x8fc
call fcn.004accd0
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005c504c
test al, al
je 0x4ed3c7
mov edx, dword [ebx + 0x300]
mov eax, ebx
call fcn.005c50e4
test al, al
je 0x4ed3b6
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x3f16
call fcn.004f63fc
jmp case.0x4ecbc5.5306
mov eax, dword [ebp + 8]
push eax
xor eax, eax
call fcn.004e5ab8
pop ecx
jmp case.0x4ecbc5.5306
mov eax, dword [ebx + 0x258]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x25c]
mov dword [ebp - 0x18], eax
lea edx, [ebp - 0x288]
mov eax, ebx
call fcn.005c8b30
mov eax, dword [ebp - 0x288]
cmp eax, dword [ebp - 0x1c]
jl 0x4ed3fb
cmp dword [ebp - 0x18], 0
jle case.0x4ecbc5.5306
cmp dword [ebp - 0x18], 0
jne 0x4ed421
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
mov eax, ebx
call fcn.005c0310
dec eax
mov dword [ebp - 0x10], eax
mov byte [ebp - 0xb9], 0
xor esi, esi
jmp 0x4ed46d
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
dec eax
mov dword [ebp - 0x10], eax
mov byte [ebx + 0x41d], 1
mov eax, dword [ebx + 0xb0]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0x14]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 0x10]
call fcn.00554d68
mov esi, eax
mov eax, esi
sub ax, 0x20
jb 0x4ed461
mov eax, esi
call fcn.0063327c
test al, al
je 0x4ed465
xor eax, eax
jmp 0x4ed467
mov al, 1
mov byte [ebp - 0xb9], al
lea eax, [ebp - 0x14]
mov edx, eax
mov eax, ebx
call fcn.005c795c
test al, al
je 0x4ed48e
mov eax, dword [0x671c54]
mov eax, dword [eax]
call fcn.006233ec
jmp case.0x4ecbc5.5306
lea edi, [ebx + 0x258]
mov edx, dword [edi]
mov eax, ebx
call fcn.00566a44
mov edx, eax
mov eax, ebx
call fcn.00566a98
inc eax
cmp eax, dword [edi]
jge 0x4ed504
cmp dword [edi + 4], 0
jne 0x4ed504
mov eax, dword [edi]
mov edx, dword [ebx + 0xb0]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4]
movsx eax, byte [eax + 0x3c]
cmp ax, 1
jne 0x4ed504
mov edx, dword [edi]
dec edx
mov eax, ebx
call fcn.005c0310
dec eax
jne 0x4ed504
mov eax, dword [edi]
mov edx, dword [ebx + 0xb0]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4 - 4]
cmp byte [eax + 0x3c], 0
jne 0x4ed504
mov eax, dword [edi]
mov edx, dword [ebx + 0xb0]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4 - 8]
movsx eax, byte [eax + 0x3c]
cmp ax, 1
je 0x4ed508
xor eax, eax
jmp 0x4ed50a
mov al, 1
mov edx, dword [ebp + 8]
mov byte [edx - 5], al
or dword [ebp - 0x38], 0x800
cmp byte [ebp - 0xb9], 0
je 0x4ed527
mov byte [ebx + 0x43e], 1
mov byte [ebx + 0x419], 1
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x38]
push eax
xor ecx, ecx
mov dl, 0x10
mov eax, ebx
call fcn.005cf62c
cmp byte [ebx + 0x461], 0
je 0x4ed593
mov eax, dword [ebx + 0x4ac]
call fcn.00652098
mov dword [ebp - 0xcc], eax
mov eax, esi
sub ax, 0xb
je 0x4ed56d
sub ax, 0x15
jne 0x4ed579
mov eax, dword [ebp - 0xcc]
or byte [eax + 0x34], 2
jmp 0x4ed589
cmp si, 0x20
jbe 0x4ed589
mov eax, dword [ebp - 0xcc]
or byte [eax + 0x34], 1
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x35], 1
mov byte [ebx + 0x43e], 0
cmp byte [ebp - 0xb9], 0
je 0x4ed5ac
mov dl, 1
mov eax, ebx
call fcn.005e55e0
mov eax, 0x8fc
call fcn.004accd0
mov byte [ebx + 0x41d], 0
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005c5018
mov esi, eax
lea edi, [ebp - 0x160]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x150]
lea edx, [ebp - 0x160]
mov eax, ebx
call fcn.005c3590
lea edx, [ebp - 0x160]
lea eax, [ebp - 0x150]
call fcn.00546cb8
test eax, eax
je case.0x4ecbc5.5306
lea ecx, [ebp - 0x288]
lea edx, [ebp - 0x160]
lea eax, [ebp - 0x150]
call fcn.00546a14
lea edx, [ebp - 0x288]
mov eax, ebx
call fcn.005c7768
test al, al
je 0x4ed63d
mov eax, dword [0x671c54]
mov eax, dword [eax]
call fcn.006233ec
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005c504c
test al, al
je 0x4ed67a
mov eax, dword [ebx + 0x300]
mov eax, dword [eax + 4]
mov dword [ebp - 0xd0], eax
push 0x7fffffff
mov al, byte [0x4efcd0]
push eax
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax]
mov eax, ebx
call fcn.005c32e0
mov eax, dword [0x671c18]
test byte [eax], 0x20
je 0x4ed688
or dword [ebp - 0x38], 0x40
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x38]
push eax
xor ecx, ecx
mov dl, 0x10
mov eax, ebx
call fcn.005cf62c
mov eax, 0x8fc
call fcn.004accd0
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005c5018
mov esi, eax
lea edi, [ebp - 0x160]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x150]
lea edx, [ebp - 0x160]
mov eax, ebx
call fcn.005c37a4
lea edx, [ebp - 0x160]
lea eax, [ebp - 0x150]
call fcn.00546cb8
test eax, eax
je case.0x4ecbc5.5306
lea ecx, [ebp - 0x288]
lea edx, [ebp - 0x150]
lea eax, [ebp - 0x160]
call fcn.00546a14
lea edx, [ebp - 0x288]
mov eax, ebx
call fcn.005c7768
test al, al
je 0x4ed72f
mov eax, dword [0x671c54]
mov eax, dword [eax]
call fcn.006233ec
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005c504c
test al, al
je 0x4ed76c
mov eax, dword [ebx + 0x300]
mov eax, dword [eax + 4]
mov dword [ebp - 0xd4], eax
push 0x7fffffff
mov al, byte [0x4efcd0]
push eax
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0xd4]
mov edx, dword [eax]
mov eax, ebx
call fcn.005c32e0
mov eax, dword [0x671c18]
test byte [eax], 0x20
je 0x4ed77a
or dword [ebp - 0x38], 0x40
or dword [ebp - 0x38], 0x100
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x38]
push eax
xor ecx, ecx
mov dl, 0x10
mov eax, ebx
call fcn.005cf62c
mov eax, 0x8fc
call fcn.004accd0
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005c5018
mov esi, eax
lea edi, [ebp - 0x170]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0xb0]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0x170]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0xd8], eax
push 0
mov ecx, 0x7fffffff
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0xd8]
call fcn.00555b70
mov edx, dword [ebp - 0xd8]
mov edx, dword [edx + 0x10]
mov edx, dword [edx + 0x1c]
mov esi, dword [edx + eax*4]
mov eax, ebx
call fcn.005c504c
test al, al
je 0x4ed83f
mov eax, dword [ebx + 0x300]
mov eax, dword [eax + 4]
mov dword [ebp - 0xdc], eax
push 0x7fffffff
mov al, byte [0x4efcd0]
push eax
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax]
mov eax, ebx
call fcn.005c32e0
mov eax, dword [ebp - 4]
sub eax, 0xcd0
je 0x4ed850
sub eax, 0x14
je 0x4ed873
jmp 0x4ed896
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x28]
add eax, dword [esi + 0x2c]
mov dword [ebp - 0x18], eax
jmp 0x4ed8d6
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x18], eax
jmp 0x4ed8d6
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x28]
add eax, dword [esi + 0x2c]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 8]
call fcn.0055456c
dec eax
cmp eax, dword [esi + 0x34]
je 0x4ed8d3
mov eax, esi
call fcn.0054dee8
test al, al
je 0x4ed8d6
dec dword [ebp - 0x18]
lea ecx, [ebp - 0x288]
lea edx, [ebp - 0x1c]
lea eax, [ebp - 0x14]
call fcn.00546a14
lea edx, [ebp - 0x288]
mov eax, ebx
call fcn.005c7768
test al, al
je 0x4ed909
mov eax, dword [0x671c54]
mov eax, dword [eax]
call fcn.006233ec
jmp case.0x4ecbc5.5306
mov eax, dword [0x671c18]
test byte [eax], 0x20
je 0x4ed917
or dword [ebp - 0x38], 0x40
or dword [ebp - 0x38], 0x100
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x38]
push eax
xor ecx, ecx
mov dl, 0x10
mov eax, ebx
call fcn.005cf62c
cmp dword [ebp - 4], 0xcd0
je 0x4ed947
cmp dword [ebp - 4], 0xce4
jne 0x4ed965
push 0x7fffffff
mov al, byte [0x4efccc]
push eax
mov ecx, dword [ebx + 0x25c]
mov edx, dword [ebx + 0x258]
mov eax, ebx
call fcn.005c32e0
mov eax, 0x8fc
call fcn.004accd0
jmp case.0x4ecbc5.5306
call fcn.0053999c
mov dword [ebp - 0xe0], eax
or dword [0x675e70], 0x2000
mov edx, dword [ebx + 0x300]
mov eax, ebx
call fcn.005c50e4
test al, al
je 0x4ed9a8
mov eax, ebx
call fcn.005f5144
mov byte [0x675e78], al
jmp 0x4ed9af
mov byte [0x675e78], 0xff
mov edx, 0x2710
mov eax, dword [ebp - 0xe0]
call fcn.00538aa4
xor eax, eax
push ebp
push 0x4eda02
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
call fcn.004e3200
mov edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0xe0]
call fcn.00539530
mov eax, dword [0x671c18]
cmp byte [eax + 4], 0
jne 0x4ed9f8
mov eax, 0x910
call fcn.004accd0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4eda18
mov eax, dword [ebp - 0xe0]
call fcn.00538c64
and dword [0x675e70], 0xffffdfff
call fcn.00509538
jmp case.0x4ecbc5.5306
mov byte [ebp - 0x248], 0
mov al, byte [0x4efccc]
mov byte [ebp - 0x247], al
mov eax, dword [ebp - 4]
mov dword [ebp - 0x244], eax
xor eax, eax
mov dword [ebp - 0x240], eax
lea ecx, [ebp - 0x248]
mov dl, 0xe
mov eax, ebx
call fcn.005cf5e8
mov eax, 0x924
call fcn.004accd0
jmp case.0x4ecbc5.5306
lea eax, [ebp - 0x240]
call fcn.004b09ac
test al, al
je case.0x4ecbc5.5306
mov byte [ebp - 0x248], 0
mov al, byte [0x4efccc]
mov byte [ebp - 0x247], al
mov dword [ebp - 0x244], 0xd20
lea ecx, [ebp - 0x248]
mov dl, 0xe
mov eax, ebx
call fcn.005cf5e8
mov eax, 0x924
call fcn.004accd0
jmp case.0x4ecbc5.5306
call fcn.0053999c
mov dword [ebp - 0xe4], eax
or dword [0x675e70], 0x2000
mov edx, dword [ebx + 0x300]
mov eax, ebx
call fcn.005c50e4
test al, al
je 0x4edaf9
mov eax, ebx
call fcn.005f5144
mov byte [0x675e78], al
jmp 0x4edb00
mov byte [0x675e78], 0xff
mov edx, 0x2710
mov eax, dword [ebp - 0xe4]
call fcn.00538aa4
push 0
call fcn.004e3200
mov edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0xe4]
call fcn.00539530
mov eax, dword [ebp - 0xe4]
call fcn.00538c64
and dword [0x675e70], 0xffffdfff
mov eax, ebx
call fcn.005c504c
test al, al
je 0x4edb64
mov eax, ebx
call fcn.005f5144
dec eax
sub al, 3
jae 0x4edb64
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x3f16
call fcn.004f63fc
jmp 0x4edb70
mov eax, dword [ebp + 8]
push eax
mov al, 1
call fcn.004e5ab8
pop ecx
mov eax, ebx
call fcn.005c504c
test al, al
jne case.0x4ecbc5.5306
mov eax, 0x938
call fcn.004accd0
jmp case.0x4ecbc5.5306
call fcn.0053999c
call fcn.00538424
mov esi, eax
mov byte [ebp - 0xba], 0
mov ebx, dword [esi + 8]
push 0x7fffffff
mov al, byte [0x4efcd0]
push eax
mov edx, dword [ebx + 0x12c]
dec edx
mov eax, ebx
call fcn.005c0310
mov ecx, eax
dec ecx
mov edx, dword [ebx + 0x12c]
dec edx
mov eax, ebx
call fcn.005c32e0
cmp dword [ebx + 0x25c], 0
jle 0x4edc40
call fcn.004ac668
mov eax, dword [0x671f30]
test byte [eax], 1
setne al
mov byte [ebp - 0xbb], al
mov eax, dword [0x671f30]
and word [eax], 0xfffe
mov eax, dword [esi + 8]
call fcn.004e3214
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0xbb8
call fcn.004f63fc
call fcn.004e3230
cmp byte [ebp - 0xbb], 0
je 0x4edc25
mov eax, dword [0x671f30]
or word [eax], 1
call fcn.004ac660
mov eax, dword [ebx + 0x4ac]
call fcn.00652098
mov byte [eax + 0x36], 0xd
mov byte [ebp - 0xba], 1
mov eax, ebx
call fcn.005ce130
mov edi, eax
call fcn.004e3200
mov edx, eax
mov eax, esi
call fcn.005373b8
cmp byte [ebp - 0xba], 0
je 0x4edc7e
mov eax, dword [esi + 8]
call fcn.005ce130
cmp edi, eax
je 0x4edc7e
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x4ac]
call fcn.00652098
or byte [eax + 0x34], 4
mov eax, 0x94c
call fcn.004accd0
jmp case.0x4ecbc5.5306
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0xd70
call fcn.004f63fc
call fcn.004ac668
mov eax, ebx
call fcn.005c504c
test al, al
je 0x4edccb
mov eax, ebx
call fcn.005f5144
dec eax
sub al, 3
jae 0x4edccb
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x3f16
call fcn.004f63fc
jmp 0x4edcd7
mov eax, dword [ebp + 8]
push eax
mov al, 1
call fcn.004e5ab8
pop ecx
call fcn.004ac660
mov eax, ebx
call fcn.005c504c
test al, al
jne case.0x4ecbc5.5306
mov eax, 0x951
call fcn.004accd0
jmp case.0x4ecbc5.5306
call fcn.0053999c
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
call fcn.00538a60
test al, al
je case.0x4ecbc5.5306
mov eax, dword [ebp - 0xe8]
call fcn.00538424
call fcn.00536f90
mov eax, 0x960
call fcn.004accd0
jmp case.0x4ecbc5.5306
mov dl, 0xf
mov eax, ebx
call fcn.005cf5d8
mov eax, 0x974
call fcn.004accd0
jmp case.0x4ecbc5.5306
mov eax, dword [0x671c18]
mov al, byte [eax + 4]
xor al, 1
mov edx, dword [0x671c18]
mov byte [edx + 4], al
call fcn.00509530
mov eax, dword [0x673304]
cmp dword [eax], 0
je case.0x4ecbc5.5306
call fcn.0053999c
cmp dword [eax + 0xc], 0
je case.0x4ecbc5.5306
call fcn.0053999c
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 8]
mov eax, dword [0x673304]
mov eax, dword [eax]
call fcn.0053fef4
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je case.0x4ecbc5.5306
mov eax, dword [ebp - 0x88]
call fcn.0053eae8
jmp case.0x4ecbc5.5306
mov eax, dword [0x671c18]
test byte [eax + 1], 2
je 0x4eddd6
mov eax, dword [0x671c18]
and dword [eax], 0xfffffdff
jmp 0x4edde1
mov eax, dword [0x671c18]
or dword [eax], 0x200
call fcn.00509530
jmp case.0x4ecbc5.5306
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x233c
call fcn.004f63fc
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x2ef4
call fcn.004f63fc
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005ce130
mov edi, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x2350
call fcn.004f63fc
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x2f08
call fcn.004f63fc
mov eax, ebx
call fcn.005ce130
cmp edi, eax
je case.0x4ecbc5.5306
mov eax, dword [ebx + 0x4ac]
call fcn.00652098
mov byte [eax + 0x36], 0xe
mov edx, edi
mov eax, ebx
call fcn.005ce17c
cmp eax, 2
jne case.0x4ecbc5.5306
mov eax, dword [ebx + 0x4ac]
call fcn.00652098
or byte [eax + 0x34], 4
mov eax, dword [ebx + 0x4ac]
mov eax, dword [eax + 0x18]
mov edx, dword [ebx + 0x4ac]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4 - 8]
mov byte [eax + 0x36], 0xe
jmp case.0x4ecbc5.5306
lea edx, [ebx + 0x304]
mov eax, ebx
call fcn.005c5440
mov byte [ebp - 0xba], 0
mov eax, dword [ebx + 0x304]
mov eax, dword [eax + 4]
mov edx, dword [eax]
mov dword [ebp - 0x24], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x20], edx
mov eax, dword [ebx + 0x304]
call fcn.0054ac9c
dec eax
jne 0x4ee022
mov eax, dword [0x671c18]
test byte [eax], 0x20
je 0x4edef0
mov edx, dword [ebx + 0x304]
mov eax, ebx
call fcn.005c7b98
test al, al
je 0x4edef0
or dword [ebp - 0x38], 0x40
or dword [ebp - 0x38], 2
mov eax, dword [ebx + 0x304]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x2c], edx
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x28], edx
xor eax, eax
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp - 0x2c]
mov eax, ebx
call fcn.005c0310
cmp eax, dword [ebp - 0x28]
jne 0x4ee014
lea edx, [ebp - 0x288]
mov eax, ebx
call fcn.005c8b30
mov eax, dword [ebp - 0x278]
cmp eax, dword [ebp - 0x2c]
je 0x4edf6c
mov eax, dword [ebx + 0xb0]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0x2c]
mov eax, dword [eax + edx*4]
cmp byte [eax + 0x3c], 0
jne 0x4ee014
mov eax, dword [ebx + 0xb0]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0x2c]
mov eax, dword [eax + edx*4 + 4]
cmp byte [eax + 0x3c], 0
je 0x4ee014
push 0
mov al, byte [0x4efcd0]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
mov eax, ebx
call fcn.005c32e0
lea ecx, [ebx + 0x34c]
lea eax, [ebp - 0x2c]
mov edx, eax
mov eax, ebx
call fcn.005c81a4
mov byte [ebx + 0x418], 1
mov eax, dword [0x671f30]
test byte [eax], 1
setne al
mov byte [ebp - 0xbb], al
mov eax, dword [0x671f30]
and word [eax], 0xfffe
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0xbb8
call fcn.004f63fc
cmp byte [ebp - 0xbb], 0
je 0x4edfd6
mov eax, dword [0x671f30]
or word [eax], 1
mov eax, dword [ebx + 0x4ac]
call fcn.00652098
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xec]
mov byte [eax + 0x36], 0xd
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
call fcn.0054ae00
mov byte [ebp - 0xba], 1
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x30], eax
jmp 0x4ee055
mov eax, dword [ebx + 0x304]
mov eax, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x2c], edx
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x28], edx
mov eax, dword [ebx + 0x304]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebx + 0x304]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x34], edx
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x34]
mov eax, ebx
call fcn.005c0310
cmp eax, dword [ebp - 0x30]
jne 0x4ee06c
inc dword [ebp - 0x34]
xor eax, eax
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x34]
mov eax, ebx
call fcn.005fa380
mov dword [ebp - 0x34], eax
mov byte [ebx + 0x44b], 1
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x5c]
mov dl, 0x12
mov eax, ebx
call fcn.005cf838
mov byte [ebx + 0x44b], 0
cmp byte [ebp - 0xba], 0
je case.0x4ecbc5.5306
mov eax, dword [ebx + 0x4ac]
call fcn.00652098
or byte [eax + 0x34], 4
mov eax, dword [ebx + 0x304]
mov eax, dword [eax + 4]
mov esi, eax
lea edi, [ebp - 0x1bc]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x19c]
mov eax, dword [ebp - 0x1ac]
inc eax
xor edx, edx
call fcn.00546a04
mov eax, dword [0x4efcd4]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x19c]
push eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x38]
push eax
xor ecx, ecx
mov dl, 0x10
mov eax, ebx
call fcn.005cf62c
cmp byte [ebx + 0x461], 0
je case.0x4ecbc5.5306
push 0
mov al, byte [0x4efccc]
push eax
mov ecx, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1ac]
mov eax, ebx
call fcn.005c32e0
mov eax, dword [ebx + 0x4ac]
call fcn.00652098
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xf0]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 4]
mov edi, eax
lea esi, [ebp - 0x1bc]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xf0]
lea edi, [eax + 0x54]
lea esi, [ebp - 0x1ac]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xf0]
or byte [eax + 0x34], 4
mov eax, dword [ebp - 0x1ac]
push eax
mov eax, dword [ebp - 0x1a8]
push eax
mov al, byte [0x4efccc]
push eax
mov ecx, dword [ebp - 0x1b8]
mov edx, dword [ebp - 0x1bc]
mov eax, ebx
call fcn.005c5d28
jmp case.0x4ecbc5.5306
cmp dword [ebp - 4], 0xdc0
jne 0x4ee1cc
lea eax, [ebx + 0x5f8]
call fcn.004b1110
test al, al
je case.0x4ecbc5.5306
cmp dword [ebp - 4], 0xdc0
je 0x4ee1e2
mov eax, ebx
call fcn.005d873c
mov dword [ebx + 0x5f8], eax
mov eax, dword [ebx + 0x1ec]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebx + 0x5f8]
mov dword [ebx + 0x1ec], eax
mov dl, 0x2f
mov eax, ebx
call fcn.00567f08
mov edx, dword [ebx + 0x5f8]
mov eax, dword [0x672ad0]
mov eax, dword [eax]
call fcn.0048ef90
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
sub eax, 0xdc0
je 0x4ee22e
sub eax, 0x14
je 0x4ee239
sub eax, 0x14
je 0x4ee244
jmp 0x4ee24f
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x40], eax
jmp 0x4ee25a
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
mov dword [ebp - 0x40], eax
jmp 0x4ee25a
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x40], eax
jmp 0x4ee25a
mov eax, dword [ebp - 4]
sub eax, 0x10a4
mov dword [ebp - 0x40], eax
xor ecx, ecx
mov dl, byte [0x4efcd8]
mov eax, dword [ebp - 0x48]
call fcn.0048ed20
mov dword [ebp - 0xf4], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov edx, dword [ebp - 0xf4]
mov edx, dword [edx + 0x18]
mov edx, dword [edx + eax*4]
lea eax, [ebp - 0x9c]
call fcn.004038bc
mov eax, dword [ebp - 0xf4]
call fcn.004028c0
mov eax, dword [0x672ad0]
mov eax, dword [eax]
cmp byte [eax + 0x21], 0
je 0x4ee37a
mov byte [ebp - 0x61], 0x1f
mov eax, dword [ebx + 0x5f8]
call fcn.006333ac
mov edx, dword [0x6730d8]
mov eax, dword [edx + eax*4]
cmp eax, dword [ebp - 0x40]
jg 0x4ee2d2
mov byte [ebp - 0x61], 0x20
push 0x4efce0
lea edx, [ebp - 0x290]
mov eax, dword [ebp - 0x9c]
call fcn.00659e9c
mov eax, dword [ebp - 0x290]
lea edx, [ebp - 0x28c]
call fcn.00548824
push dword [ebp - 0x28c]
push 0x4efcf0
lea eax, [ebp - 0x98]
mov edx, 3
call fcn.00403b88
mov eax, dword [0x672ad0]
mov eax, dword [eax]
cmp byte [eax + 0x20], 0
je 0x4ee362
push dword [ebp - 0x98]
push 0x4efcf8
lea eax, [ebp - 0x28c]
mov edx, dword [0x672ad0]
mov edx, dword [edx]
movzx edx, byte [edx + 0x20]
mov ecx, dword [0x672c70]
mov edx, dword [ecx + edx*4]
call fcn.004039d0
push dword [ebp - 0x28c]
lea eax, [ebp - 0x98]
mov edx, 3
call fcn.00403b88
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x61]
mov dl, 0x28
mov eax, ebx
call fcn.005cf5f8
jmp 0x4ee420
call fcn.00659760
add esp, 0xfffffff8
fstp qword [esp]
wait
lea ecx, [ebp - 8]
mov edx, dword [ebx + 0x5f8]
mov eax, dword [ebp - 0x9c]
call fcn.00659cd0
mov edx, dword [ebx + 0x5f8]
mov eax, dword [0x671908]
mov eax, dword [eax]
call fcn.00483d40
test byte [eax + 0x30], 4
je 0x4ee3d7
lea eax, [ebp - 0x28c]
push eax
mov cx, 0xa0
mov dx, 0x20
mov eax, dword [ebp - 8]
call fcn.0065730c
mov edx, dword [ebp - 0x28c]
lea eax, [ebp - 8]
call fcn.004038bc
lea ecx, [ebp - 0x28c]
mov eax, dword [0x672ad0]
mov eax, dword [eax]
mov dl, byte [eax + 0x20]
mov eax, dword [ebp - 8]
call fcn.00549880
mov eax, dword [ebp - 0x28c]
call fcn.006517ec
mov esi, eax
mov eax, dword [0x671c18]
test byte [eax], 0x20
je 0x4ee40a
or dword [ebp - 0x38], 0x40
lea eax, [ebp - 0x38]
push eax
mov ecx, esi
mov dl, 0xd
mov eax, ebx
call fcn.005cf5f8
mov eax, esi
call fcn.004028c0
mov eax, 0x99c
call fcn.004accd0
mov eax, ebx
call fcn.00567fbc
mov eax, dword [ebp - 0xa4]
mov dword [ebx + 0x1ec], eax
jmp case.0x4ecbc5.5306
mov byte [ebp - 0x61], 0x21
cmp dword [ebp - 4], 0xdf3
jne 0x4ee453
mov byte [ebp - 0x61], 0x1a
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x61]
mov dl, 0x28
mov eax, ebx
call fcn.005cf5f8
jmp case.0x4ecbc5.5306
call fcn.0044222c
jmp case.0x4ecbc5.5306
mov dl, 1
mov eax, dword [0x5455f8]
call fcn.005625ac
mov dword [ebp - 0x68], eax
mov edx, dword [0x671910]
mov edx, dword [edx + 0x88]
lea eax, [ebp - 0x294]
mov ecx, 0x4efd0c
call fcn.00403568
mov edx, dword [ebp - 0x294]
mov eax, dword [ebp - 0x68]
call fcn.00562b88
mov eax, dword [ebp - 0x68]
call fcn.004c1a38
mov eax, ebx
call fcn.005c504c
test al, al
je 0x4ee503
xor edi, edi
mov eax, dword [ebx + 0x300]
call fcn.0054ac9c
mov esi, eax
dec esi
cmp esi, 0
jl 0x4ee516
mov eax, dword [ebx + 0x300]
mov edx, esi
call fcn.0054accc
mov edx, dword [eax]
mov eax, ebx
call fcn.00566f08
mov edx, dword [eax + 0x584]
mov eax, edi
call fcn.00656b78
mov edi, eax
dec esi
cmp esi, 0xffffffff
jne 0x4ee4d6
jmp 0x4ee516
lea edx, [ebp - 0x304]
mov eax, ebx
call fcn.00566f78
mov edi, dword [ebp - 0x2a8]
mov eax, dword [0x671910]
test byte [eax + 4], 8
jne 0x4ee533
mov edx, edi
mov eax, dword [ebp - 0x68]
call fcn.004c1ad8
test al, al
je 0x4ee642
mov eax, ebx
call fcn.005c504c
test al, al
jne 0x4ee57d
cmp dword [ebx + 0x25c], 0
jle 0x4ee557
lea eax, [ebp - 0x90]
mov edx, 0x4efd34
call fcn.0040330c
mov edx, dword [ebx + 0x258]
mov eax, ebx
call fcn.005c0310
dec eax
cmp eax, dword [ebx + 0x25c]
jle 0x4ee57d
lea eax, [ebp - 0x94]
mov edx, 0x4efd40
call fcn.0040330c
lea eax, [ebp - 0x8c]
push eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x31c], eax
mov byte [ebp - 0x318], 0xb
lea edx, [ebp - 0x294]
mov eax, dword [ebp - 0x68]
call fcn.00562c64
mov eax, dword [ebp - 0x294]
mov dword [ebp - 0x314], eax
mov byte [ebp - 0x310], 0xb
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x30c], eax
mov byte [ebp - 0x308], 0xb
lea edx, [ebp - 0x31c]
mov eax, 0x4efd48
mov ecx, 2
call fcn.00659050
mov byte [ebp - 0x248], 2
mov dword [ebp - 0x244], 0xd20
call fcn.0065179c
mov dword [ebp - 0x234], eax
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x234]
call fcn.00651aa8
mov eax, dword [0x6720a0]
or word [eax], 0x80
mov byte [ebx + 0x7d8], 0x41
lea ecx, [ebp - 0x248]
mov dl, 0xe
mov eax, ebx
call fcn.005cf5e8
mov eax, dword [0x6720a0]
and word [eax], 0xff7f
mov eax, dword [ebp - 0x234]
call fcn.004028c0
mov eax, dword [ebp - 0x68]
call fcn.004028c0
jmp case.0x4ecbc5.5306
push ebp
call fcn.004e9724
pop ecx
jmp case.0x4ecbc5.5306
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
xor ecx, ecx
mov edx, 0x31ed4
call fcn.004f7470
jmp case.0x4ecbc5.5306
lea edx, [ebp - 0x28c]
mov eax, 0x4efd70
call fcn.00658380
mov ecx, dword [ebp - 0x28c]
mov edx, dword [0x67283c]
mov edx, dword [edx + 4]
lea eax, [ebp - 0xc]
call fcn.00403b24
push 0
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_CreateDirectoryW
lea ecx, [ebp - 0xc]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x31ed4
call fcn.004f7470
jmp case.0x4ecbc5.5306
call fcn.004e983c
jmp case.0x4ecbc5.5306
call fcn.004e98cc
jmp case.0x4ecbc5.5306
mov al, byte [ebp - 4]
sub al, 0x38
call fcn.00601838
jmp case.0x4ecbc5.5306
call fcn.00601830
mov dl, byte [ebp - 4]
sub dl, 0x3d
call fcn.00606a54
jmp case.0x4ecbc5.5306
call fcn.00601830
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x1a8]
mov eax, dword [eax + 0x120]
mov edx, dword [eax]
call dword [edx + 0x34]
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x1b4]
mov eax, dword [eax + 0x120]
mov edx, dword [eax]
call dword [edx + 0x34]
call fcn.00509530
jmp case.0x4ecbc5.5306
call fcn.00601830
mov dword [ebp - 0xfc], eax
xor edx, edx
mov eax, dword [ebp - 0xfc]
call fcn.00605110
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x1cc]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x100]
call fcn.0063aa00
mov edx, eax
xor dl, 1
mov eax, dword [ebp - 0x100]
call fcn.0063aa0c
jmp case.0x4ecbc5.5306
call fcn.00601830
mov dword [ebp - 0x104], eax
xor edx, edx
mov eax, dword [ebp - 0x104]
call fcn.00605110
mov eax, dword [ebp - 0x104]
mov eax, dword [eax + 0x1d0]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x108]
call fcn.0063aa00
mov edx, eax
xor dl, 1
mov eax, dword [ebp - 0x108]
call fcn.0063aa0c
jmp case.0x4ecbc5.5306
call fcn.00601830
mov dword [ebp - 0x10c], eax
xor edx, edx
mov eax, dword [ebp - 0x10c]
call fcn.00605110
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + 0x1d4]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x110]
call fcn.0063aa00
mov edx, eax
xor dl, 1
mov eax, dword [ebp - 0x110]
call fcn.0063aa0c
jmp case.0x4ecbc5.5306
mov eax, dword [0x671c18]
test byte [eax + 2], 0x20
je 0x4ee830
mov eax, dword [0x671c18]
and dword [eax], 0xffdfffff
jmp case.0x4ecbc5.5306
mov eax, dword [0x671c18]
or dword [eax], 0x200000
jmp case.0x4ecbc5.5306
mov eax, dword [0x671c18]
and dword [eax], 0xffdfffff
call fcn.00601830
mov al, byte [eax + 0x20a]
call fcn.00601838
mov eax, dword [0x671c18]
or dword [eax], 0x200000
jmp case.0x4ecbc5.5306
mov eax, dword [0x671ee0]
mov eax, dword [eax]
call fcn.0060a414
jmp case.0x4ecbc5.5306
xor edx, edx
xor eax, eax
call fcn.004e1990
jmp case.0x4ecbc5.5306
xor edx, edx
xor eax, eax
call fcn.004e209c
jmp case.0x4ecbc5.5306
or dword [0x675e70], 0x4000
lea eax, [ebp - 0xa0]
mov edx, dword [0x67283c]
mov edx, dword [edx + 0xc]
call fcn.004038bc
mov edx, dword [ebx + 0x300]
mov eax, ebx
call fcn.005c50e4
test al, al
je 0x4ee8f8
mov eax, ebx
call fcn.005f5144
mov byte [0x675e78], al
lea edx, [ebp - 0x28c]
mov eax, 0x4efd78
call fcn.00658380
mov edx, dword [ebp - 0x28c]
mov eax, dword [0x67283c]
add eax, 0xc
call fcn.004038bc
jmp 0x4ee8ff
mov byte [0x675e78], 0xff
cmp dword [ebp - 4], 0xe60
jne 0x4ee911
mov eax, ebx
call fcn.0059d9c4
jmp 0x4ee918
mov eax, ebx
call fcn.0059e950
cmp byte [0x675e78], 0xff
je 0x4ee934
mov eax, dword [0x67283c]
add eax, 0xc
mov edx, dword [ebp - 0xa0]
call fcn.004038bc
and dword [0x675e70], 0xffffbfff
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.0059df64
jmp case.0x4ecbc5.5306
mov eax, dword [0x672b90]
mov al, byte [eax]
xor al, 1
mov edx, dword [0x672b90]
mov byte [edx], al
mov eax, dword [ebx + 0x174]
call fcn.00463104
call fcn.00509538
mov eax, 0x9d8
call fcn.004accd0
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005c652c
mov eax, dword [ebp + 8]
push eax
call fcn.004e59a4
pop ecx
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005c6590
jmp case.0x4ecbc5.5306
push ebp
call fcn.004e942c
pop ecx
jmp case.0x4ecbc5.5306
push ebp
call fcn.004e94d8
pop ecx
jmp case.0x4ecbc5.5306
push ebp
call fcn.004e9558
pop ecx
jmp case.0x4ecbc5.5306
push ebp
call fcn.004e95d8
pop ecx
jmp case.0x4ecbc5.5306
push ebp
call fcn.004e9628
pop ecx
jmp case.0x4ecbc5.5306
push ebp
call fcn.004e96c8
pop ecx
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005dc018
jmp case.0x4ecbc5.5306
mov dl, 1
mov eax, ebx
call fcn.005ce1ac
mov eax, 0x9ec
call fcn.004accd0
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005ce36c
mov eax, 0xa00
call fcn.004accd0
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005ce52c
mov eax, 0x9ec
call fcn.004accd0
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005ce600
mov eax, 0xa00
call fcn.004accd0
jmp case.0x4ecbc5.5306
lea edx, [ebx + 0x300]
mov eax, ebx
call fcn.005c5440
mov eax, dword [ebx + 0x300]
mov eax, dword [eax + 4]
add eax, 0x10
push eax
mov eax, dword [ebx + 0x300]
mov ecx, dword [eax + 4]
mov dl, 0x13
mov eax, ebx
call fcn.005cf5f8
jmp case.0x4ecbc5.5306
lea edx, [ebx + 0x300]
mov eax, ebx
call fcn.005c5440
mov eax, ebx
call fcn.005c8a00
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x114]
mov eax, dword [eax + 4]
add eax, 0x10
push eax
mov eax, dword [ebp - 0x114]
mov ecx, dword [eax + 4]
mov dl, 0x14
mov eax, ebx
call fcn.005cf5f8
mov eax, dword [ebp - 0x114]
call fcn.0054b108
jmp case.0x4ecbc5.5306
lea edx, [ebx + 0x300]
mov eax, ebx
call fcn.005c5440
mov byte [ebp - 0x3a], 1
cmp dword [ebp - 4], 0xf5a
jne 0x4eeae7
mov byte [ebp - 0x3a], 0
mov eax, dword [ebx + 0x300]
mov eax, dword [eax + 4]
add eax, 0x10
push eax
lea eax, [ebp - 0x3a]
push eax
mov eax, dword [ebx + 0x300]
mov ecx, dword [eax + 4]
mov dl, 0x15
mov eax, ebx
call fcn.005cf610
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005d9a7c
mov dword [ebp - 0x118], eax
lea edx, [ebp - 0x288]
mov eax, dword [ebp - 0x118]
call fcn.0054ade0
lea edx, [ebp - 0x288]
mov cl, 1
mov eax, ebx
call fcn.005c7a68
test al, al
je 0x4eeb4e
mov eax, dword [0x672b7c]
mov eax, dword [eax]
call fcn.006233ec
jmp 0x4eeb77
mov dword [ebp - 0xac], 1
cmp dword [ebp - 4], 0xf5f
jne 0x4eeb68
sub dword [ebp - 0xac], 2
lea ecx, [ebp - 0xac]
mov dl, 0x16
mov eax, ebx
call fcn.005cf5e8
mov eax, dword [ebp - 0x118]
call fcn.0054b108
jmp case.0x4ecbc5.5306
mov byte [ebp - 0x39], 0
mov eax, dword [ebp - 4]
cmp eax, 0xfa0
jg 0x4eebaa
je 0x4eebd0
sub eax, 0xf64
je 0x4eebb8
sub eax, 0x14
je 0x4eebc1
sub eax, 0x14
je 0x4eebca
jmp 0x4eebe2
sub eax, 0xfb4
je 0x4eebd6
sub eax, 5
je 0x4eebdc
jmp 0x4eebe2
mov byte [ebp - 0x17c], 0
jmp 0x4eebe6
mov byte [ebp - 0x17c], 1
jmp 0x4eebe6
mov byte [ebp - 0x39], 1
jmp 0x4eebe6
mov byte [ebp - 0x39], 2
jmp 0x4eebe6
mov byte [ebp - 0x39], 3
jmp 0x4eebe6
mov byte [ebp - 0x39], 4
jmp 0x4eebe6
mov byte [ebp - 0x39], 5
or dword [ebp - 0x38], 2
push 0
lea eax, [ebp - 0x39]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x17c]
push eax
mov ecx, dword [ebx + 0x300]
mov dl, 0x17
mov eax, ebx
call fcn.005cf838
jmp case.0x4ecbc5.5306
mov eax, dword [0x6724c8]
mov eax, dword [eax]
mov edx, 0xfc8
call fcn.00611818
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005dba38
jmp case.0x4ecbc5.5306
mov eax, dword [ebx + 0x204]
sub eax, dword [ebx + 0x1fc]
mov edx, dword [ebx + 0x174]
sub eax, dword [edx + 0x284]
sar eax, 1
jns 0x4eec50
adc eax, 0
lea ecx, [ebp - 0x324]
mov edx, dword [ebx + 0x210]
call fcn.00650bbc
lea edx, [ebp - 0x324]
mov eax, ebx
call fcn.00564d98
jmp case.0x4ecbc5.5306
push ebp
mov eax, dword [ebp - 4]
call fcn.004eae80
pop ecx
jmp case.0x4ecbc5.5306
mov eax, dword [0x6720b4]
cmp dword [eax], 0
jne 0x4eeca2
xor ecx, ecx
mov dl, 1
mov eax, dword [0x4fef5c]
call fcn.004ff964
mov edx, dword [0x6720b4]
mov dword [edx], eax
mov eax, dword [ebx + 0x174]
mov ebx, dword [eax + 0x26c]
lea ecx, [ebp - 0x120]
lea edx, [ebx + 0x194]
mov eax, ebx
call fcn.00642f14
mov eax, dword [0x6720b4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x120]
sub edx, dword [eax + 0x30]
mov eax, dword [0x6720b4]
mov eax, dword [eax]
mov dword [eax + 0x1a4], edx
lea eax, [ebp - 0x334]
call fcn.00623780
mov eax, dword [ebp - 0x328]
mov edx, dword [0x6720b4]
mov edx, dword [edx]
sub eax, dword [edx + 0x34]
push eax
call fcn.0062387c
pop edx
sub edx, eax
sub edx, 5
mov eax, dword [ebp - 0x11c]
call fcn.00656b70
mov edx, dword [0x6720b4]
mov edx, dword [edx]
mov dword [edx + 0x1a8], eax
mov eax, dword [0x6720b4]
mov eax, dword [eax]
mov ecx, dword [eax + 0x1a8]
mov eax, dword [0x6720b4]
mov eax, dword [eax]
mov edx, dword [eax + 0x1a4]
mov eax, dword [0x6720b4]
mov eax, dword [eax]
call fcn.00642cf4
mov eax, dword [0x6724c0]
mov byte [eax], 1
mov eax, dword [0x6720b4]
mov eax, dword [eax]
call fcn.0063f984
mov eax, dword [0x6724c0]
mov byte [eax], 0
mov eax, dword [0x6720b4]
mov eax, dword [eax]
mov eax, dword [eax + 0x1a0]
call fcn.0061002c
mov byte [ebx + 0x1c5], 5
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x34]
jmp case.0x4ecbc5.5306
mov al, byte [ebp - 4]
sub al, 0x86
mov edx, dword [0x671910]
mov byte [edx + 0x6e], al
mov eax, dword [0x6720b4]
mov eax, dword [eax]
call fcn.00643568
jmp case.0x4ecbc5.5306
call fcn.004d26f0
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005e85f0
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005e8678
jmp case.0x4ecbc5.5306
mov eax, dword [0x6726fc]
mov eax, dword [eax]
xor edx, edx
call fcn.0050a860
jmp case.0x4ecbc5.5306
push ebp
call fcn.004eb708
pop ecx
jmp case.0x4ecbc5.5306
mov eax, dword [0x6726fc]
mov eax, dword [eax]
call fcn.0050a8e0
jmp case.0x4ecbc5.5306
mov eax, dword [0x6726fc]
mov eax, dword [eax]
call fcn.0050ab48
jmp case.0x4ecbc5.5306
mov eax, dword [0x671910]
and dword [eax + 4], 0xfffdffff
cmp dword [ebp - 4], 0x11b6
jne 0x4eee29
mov eax, dword [0x671910]
or dword [eax + 4], 0x20000
mov eax, dword [0x6719c8]
mov eax, dword [eax]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl 0x4eee64
mov eax, dword [0x6719c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + esi*4]
cmp dword [eax + 0x838], 0
jl 0x4eee5e
mov edx, dword [eax + 0x838]
inc edx
neg edx
mov dword [eax + 0x838], edx
dec esi
cmp esi, 0xffffffff
jne 0x4eee39
call fcn.00509530
jmp case.0x4ecbc5.5306
mov eax, dword [0x6726fc]
mov eax, dword [eax]
call fcn.0050ace0
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005e5c7c
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
push eax
push 0x4fd54c
lea ecx, [ebp - 0x324]
xor edx, edx
mov eax, 0x80000000
call fcn.00650bbc
lea eax, [ebp - 0x324]
push eax
mov eax, ebx
call fcn.005e80f8
pop edx
call fcn.004a2bb0
jmp case.0x4ecbc5.5306
mov ecx, dword [ebp - 4]
mov dl, 1
mov eax, dword [0x4bf750]
call fcn.004c0250
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x124]
call fcn.0063f9d8
mov eax, dword [ebp - 0x124]
call fcn.004028c0
jmp case.0x4ecbc5.5306
mov eax, dword [ebx + 0x5a0]
cmp dword [eax + 0x18], 1
jle 0x4eef13
mov eax, dword [0x6720c0]
mov eax, dword [eax]
mov cl, 0x2a
mov dl, 3
call fcn.00623608
cmp ax, 6
jne case.0x4ecbc5.5306
mov eax, dword [ebx + 0x5a0]
mov edi, dword [eax + 0x18]
dec edi
test edi, edi
jl case.0x4ecbc5.5306
inc edi
xor esi, esi
mov eax, dword [ebx + 0x5a0]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax + esi*4]
mov eax, ebx
call fcn.005e8fec
inc esi
dec edi
jne 0x4eef28
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005e9188
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005e921c
jmp case.0x4ecbc5.5306
mov eax, dword [ebx + 0x5c0]
call fcn.00651f8c
mov dword [ebx + 0x5c4], 0xffffffff
call fcn.00509530
jmp case.0x4ecbc5.5306
mov eax, dword [ebx + 0x5a0]
call fcn.004e99c8
jmp case.0x4ecbc5.5306
call fcn.0053999c
mov edx, dword [ebx + 0x5a0]
mov dword [eax + 0x30], edx
push ebp
mov eax, dword [ebx + 0x5a0]
call fcn.004e9b6c
pop ecx
call fcn.0053999c
xor edx, edx
mov dword [eax + 0x30], edx
jmp case.0x4ecbc5.5306
mov dl, 0x22
mov eax, ebx
call fcn.005cf5d8
jmp case.0x4ecbc5.5306
mov dl, 0x24
mov eax, ebx
call fcn.005cf5d8
jmp case.0x4ecbc5.5306
mov eax, dword [ebx + 0x5a0]
call fcn.004e9d54
jmp case.0x4ecbc5.5306
xor eax, eax
call fcn.004e9c00
jmp case.0x4ecbc5.5306
mov al, 1
call fcn.004e9c00
jmp case.0x4ecbc5.5306
call fcn.004e9bd8
jmp case.0x4ecbc5.5306
call fcn.004e9ce8
jmp case.0x4ecbc5.5306
mov eax, dword [ebx + 0x5b0]
call fcn.004e99c8
jmp case.0x4ecbc5.5306
push ebp
mov eax, dword [ebx + 0x5b0]
call fcn.004e9b6c
pop ecx
jmp case.0x4ecbc5.5306
mov dl, 0x26
mov eax, ebx
call fcn.005cf5d8
jmp case.0x4ecbc5.5306
mov eax, dword [ebx + 0x5b0]
call fcn.00651e1c
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
call fcn.004e99c8
mov byte [ebx + 0x7d8], 0x14
mov dl, 0x26
mov eax, ebx
call fcn.005cf5d8
mov ecx, dword [ebx + 0x300]
mov dl, 0x10
mov eax, ebx
call fcn.005cf5e8
mov eax, dword [ebx + 0x4ac]
call fcn.00652098
or byte [eax + 0x34], 4
mov eax, dword [ebp - 0x74]
call fcn.00652408
jmp case.0x4ecbc5.5306
call fcn.004e9dd8
jmp case.0x4ecbc5.5306
call fcn.004e9e7c
jmp case.0x4ecbc5.5306
mov ecx, dword [ebx + 0x59c]
mov dl, 0x2a
mov eax, ebx
call fcn.005cf5e8
jmp case.0x4ecbc5.5306
mov eax, dword [ebx + 0x59c]
call fcn.004e99c8
jmp case.0x4ecbc5.5306
push ebp
mov eax, dword [ebx + 0x59c]
call fcn.004e9b6c
pop ecx
jmp case.0x4ecbc5.5306
mov eax, dword [ebx + 0x59c]
call fcn.004e9d54
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005c504c
test al, al
je 0x4ef107
mov edx, dword [ebx + 0x300]
xor ecx, ecx
mov eax, ebx
call fcn.005ee4b4
jmp case.0x4ecbc5.5306
lea edx, [ebp - 0x19c]
mov eax, ebx
call fcn.005c8b68
lea ecx, [ebp - 0x19c]
xor edx, edx
mov eax, ebx
call fcn.005ee4b4
jmp case.0x4ecbc5.5306
xor eax, eax
call fcn.004eb7dc
jmp case.0x4ecbc5.5306
mov al, 1
call fcn.004eb93c
jmp case.0x4ecbc5.5306
mov al, 2
call fcn.004eb93c
jmp case.0x4ecbc5.5306
mov ecx, dword [ebx + 0x5ac]
mov dl, 0x3c
mov eax, ebx
call fcn.005cf5e8
jmp case.0x4ecbc5.5306
mov byte [ebp - 0x81], 2
cmp dword [ebp - 4], 0x13c9
je 0x4ef182
cmp dword [ebp - 4], 0x13cb
je 0x4ef182
cmp dword [ebp - 4], 0x13cc
jne 0x4ef189
mov byte [ebp - 0x81], 1
push ebp
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x50]
lea edx, [ebp - 0x4c]
mov al, byte [ebp - 0x81]
call fcn.004eba24
pop ecx
cmp dword [ebp - 0x50], 0
je case.0x4ecbc5.5306
mov eax, dword [ebp - 4]
sub eax, 0x13cb
je 0x4ef1bf
dec eax
je 0x4ef1c7
dec eax
je 0x4ef1bf
dec eax
je 0x4ef1c7
jmp 0x4ef1cd
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x50], eax
jmp 0x4ef1cd
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 4], 0x13c9
je 0x4ef1df
cmp dword [ebp - 4], 0x13ca
jne 0x4ef1f4
mov edx, dword [ebx + 0x258]
mov eax, ebx
call fcn.00566a44
cmp al, byte [ebp - 0x81]
je 0x4ef21b
cmp dword [ebp - 4], 0x13c9
je 0x4ef256
cmp dword [ebp - 4], 0x13ca
je 0x4ef256
mov edx, dword [ebx + 0x258]
mov eax, ebx
call fcn.00566a44
cmp al, byte [ebp - 0x81]
je 0x4ef256
mov eax, dword [ebp - 0x50]
mov edx, dword [eax + 0x44]
mov eax, ebx
call fcn.005e8a94
mov dword [ebp - 0x128], eax
push 0x7fffffff
mov al, byte [0x4efccc]
push eax
mov eax, dword [ebp - 0x128]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x128]
mov edx, dword [eax]
mov eax, ebx
call fcn.005c32e0
jmp case.0x4ecbc5.5306
mov edx, dword [ebp - 0x50]
mov eax, ebx
call fcn.005e8a94
mov dword [ebp - 0x12c], eax
push 0x7fffffff
mov al, byte [0x4efccc]
push eax
mov eax, dword [ebp - 0x12c]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x12c]
mov edx, dword [eax]
mov eax, ebx
call fcn.005c32e0
mov dl, 1
mov eax, ebx
call fcn.005c2a0c
jmp case.0x4ecbc5.5306
mov al, 1
call fcn.004eb7dc
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005fe8fc
mov eax, dword [ebx + 0x5a4]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax]
mov edx, dword [ebx + 0x258]
mov eax, ebx
call fcn.00566a44
cmp al, 1
jne 0x4ef2c9
mov edi, dword [edi + 0x44]
mov edx, edi
mov eax, ebx
call fcn.005e8a94
mov dword [ebp - 0x130], eax
push 0x7fffffff
mov al, byte [0x4efcd0]
push eax
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x130]
mov edx, dword [eax]
mov eax, ebx
call fcn.005c32e0
mov dl, 1
mov eax, ebx
call fcn.005c2a0c
jmp case.0x4ecbc5.5306
mov eax, ebx
call fcn.005fe8fc
mov eax, dword [ebx + 0x5a8]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax]
mov edx, dword [ebx + 0x258]
mov eax, ebx
call fcn.00566a44
cmp al, 2
jne 0x4ef32f
mov edi, dword [edi + 0x44]
mov edx, edi
mov eax, ebx
call fcn.005e8a94
mov dword [ebp - 0x134], eax
push 0x7fffffff
mov al, byte [0x4efcd0]
push eax
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x134]
mov edx, dword [eax]
mov eax, ebx
call fcn.005c32e0
mov dl, 1
mov eax, ebx
call fcn.005c2a0c
jmp case.0x4ecbc5.5306
call fcn.00651de8
mov dword [ebp - 0x78], eax
cmp dword [ebp - 4], 0x13d9
je 0x4ef396
cmp dword [ebp - 4], 0x13de
je 0x4ef396
cmp dword [ebp - 4], 0x13c8
je 0x4ef396
xor eax, eax
jmp 0x4ef398
mov al, 1
mov byte [ebp - 0x82], al
mov eax, dword [ebx + 0x5ac]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl 0x4ef417
mov eax, dword [ebx + 0x5ac]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax + esi*4]
cmp dword [ebp - 4], 0x13c6
je 0x4ef3cd
mov al, byte [edi + 6]
cmp al, byte [ebp - 0x82]
jne 0x4ef411
cmp dword [ebp - 4], 0x13d8
je 0x4ef3fa
cmp dword [ebp - 4], 0x13d9
je 0x4ef3fa
cmp dword [ebp - 4], 0x13c6
je 0x4ef3fa
cmp dword [ebp - 4], 0x13c7
je 0x4ef3fa
cmp dword [ebp - 4], 0x13c8
jne 0x4ef407
mov edx, dword [edi + 0x44]
mov eax, dword [ebp - 0x78]
call fcn.00652038
jmp 0x4ef411
mov edx, edi
mov eax, dword [ebp - 0x78]
call fcn.00652038
dec esi
cmp esi, 0xffffffff
jne 0x4ef3ad
mov eax, dword [ebp - 0x78]
call fcn.004e99c8
mov eax, dword [ebp - 0x78]
call fcn.00652408
cmp dword [ebp - 4], 0x13c6
je 0x4ef446
cmp dword [ebp - 4], 0x13c7
je 0x4ef446
cmp dword [ebp - 4], 0x13c8
jne case.0x4ecbc5.5306
mov ecx, dword [ebx + 0x300]
mov dl, 0x10
mov eax, ebx
call fcn.005cf5e8
jmp case.0x4ecbc5.5306
call fcn.004e9f5c
jmp case.0x4ecbc5.5306
call fcn.00485ce0
jmp case.0x4ecbc5.5306
call fcn.004ea018
jmp case.0x4ecbc5.5306
push ebp
call fcn.004ea180
pop ecx
jmp case.0x4ecbc5.5306
call fcn.004ea2dc
jmp case.0x4ecbc5.5306
push ebp
call fcn.004ea380
pop ecx
jmp case.0x4ecbc5.5306
push ebp
call fcn.004ea4fc
pop ecx
jmp case.0x4ecbc5.5306
call fcn.004d3d98
jmp case.0x4ecbc5.5306
mov eax, dword [0x672cb4]
cmp byte [eax + 0x1a], 0
jne 0x4ef4cb
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x1964
call fcn.004f63fc
mov eax, dword [0x672cb4]
test byte [eax + 0x23], 4
je 0x4ef4e8
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x191e
call fcn.004f63fc
jmp 0x4ef4ef
mov al, 0xa
call fcn.00516c10
mov eax, dword [0x673044]
mov eax, dword [eax]
mov ebx, dword [eax + 0x14c]
lea edx, [ebp - 0x290]
mov eax, 0x4efd80
call fcn.00658380
mov ecx, dword [ebp - 0x290]
mov edx, dword [0x67283c]
mov edx, dword [edx + 4]
lea eax, [ebp - 0x28c]
call fcn.00403b24
mov edx, dword [ebp - 0x28c]
mov eax, dword [0x671e34]
mov eax, dword [eax]
mov eax, dword [eax + 4]
call fcn.00513c04
mov dword [ebx + 0x130], eax
mov edx, dword [ebx + 0x130]
mov eax, ebx
call fcn.00617264
xor edx, edx
mov eax, dword [ebx + 0x148]
call dword [ebx + 0x144]
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x34]
mov eax, dword [0x6729e8]
mov eax, dword [eax]
call fcn.006233ec
jmp case.0x4ecbc5.5306
xor edx, edx
xor eax, eax
call fcn.004ebd44
jmp case.0x4ecbc5.5306
call fcn.004ebf24
jmp case.0x4ecbc5.5306
call fcn.004ec104
jmp case.0x4ecbc5.5306
mov eax, dword [0x672368]
mov eax, dword [eax]
call fcn.004afed4
jmp case.0x4ecbc5.5306
mov eax, dword [0x672368]
mov eax, dword [eax]
call fcn.004aff70
jmp case.0x4ecbc5.5306
mov eax, dword [0x671910]
and dword [eax + 4], 0xfffbffff
cmp dword [ebp - 4], 0x14c3
jne 0x4ef5d9
mov eax, dword [0x671910]
or dword [eax + 4], 0x40000
mov eax, dword [0x6719c8]
mov eax, dword [eax]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl 0x4ef61b
mov eax, dword [0x6719c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + esi*4]
mov byte [eax + 0x454], 0
cmp dword [eax + 0x840], 0
jl 0x4ef615
mov edx, dword [eax + 0x840]
inc edx
neg edx
mov dword [eax + 0x840], edx
dec esi
cmp esi, 0xffffffff
jne 0x4ef5e9
call fcn.00509530
jmp case.0x4ecbc5.5306
mov eax, dword [0x672368]
mov eax, dword [eax]
xor edx, edx
call fcn.004afe28
jmp case.0x4ecbc5.5306
xor edx, edx
mov al, 1
call fcn.004ebd44
jmp case.0x4ecbc5.5306
mov dl, 1
mov al, 1
call fcn.004ebd44
jmp case.0x4ecbc5.5306
mov eax, dword [ebx + 0x5b4]
call fcn.004e99c8
jmp case.0x4ecbc5.5306
push ebp
mov eax, dword [ebx + 0x5b4]
call fcn.004e9b6c
pop ecx
jmp case.0x4ecbc5.5306
mov ecx, dword [ebx + 0x5b4]
mov dl, 0x2a
mov eax, ebx
call fcn.005cf5e8
jmp case.0x4ecbc5.5306
mov eax, dword [ebx + 0x5b4]
call fcn.004e9d54
jmp case.0x4ecbc5.5306
mov eax, dword [0x671c18]
test byte [eax + 2], 1
je 0x4ef6b5
mov eax, dword [0x671c18]
and dword [eax], 0xfffeffff
jmp case.0x4ecbc5.5306
mov eax, dword [0x671c18]
or dword [eax], 0x10000
mov eax, dword [0x6719c8]
mov eax, dword [eax]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl 0x4ef6e8
mov eax, dword [0x6719c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + esi*4]
call fcn.005fdf88
dec esi
cmp esi, 0xffffffff
jne 0x4ef6d0
mov eax, dword [0x672f4c]
mov eax, dword [eax]
call fcn.006233ec
jmp case.0x4ecbc5.5306
mov eax, dword [0x671c18]
test byte [eax + 2], 2
je 0x4ef711
mov eax, dword [0x671c18]
and dword [eax], 0xfffdffff
jmp 0x4ef71c
mov eax, dword [0x671c18]
or dword [eax], 0x20000
mov eax, dword [0x6719c8]
mov eax, dword [eax]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl case.0x4ecbc5.5306
mov eax, dword [0x6719c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + esi*4]
call fcn.005fdf88
dec esi
cmp esi, 0xffffffff
jne 0x4ef730
jmp case.0x4ecbc5.5306
mov eax, dword [0x671c18]
test byte [eax + 2], 4
je 0x4ef768
mov eax, dword [0x671c18]
and dword [eax], 0xfffbffff
jmp case.0x4ecbc5.5306
mov eax, dword [0x671c18]
or dword [eax], 0x40000
jmp case.0x4ecbc5.5306
mov eax, dword [0x671c18]
test byte [eax + 2], 8
je 0x4ef793
mov eax, dword [0x671c18]
and dword [eax], 0xfff7ffff
jmp case.0x4ecbc5.5306
mov eax, dword [0x671c18]
or dword [eax], 0x80000
jmp case.0x4ecbc5.5306
xor eax, eax
mov dword [ebp - 0x1c8], eax
xor eax, eax
mov dword [ebp - 0x1c4], eax
mov esi, dword [ebx + 0x12c]
dec esi
cmp esi, 0
jl 0x4ef86b
mov edx, esi
mov eax, ebx
call fcn.005fe91c
test al, al
je 0x4ef861
mov eax, dword [ebx + 0xb0]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + esi*4]
mov al, byte [eax + 0x3d]
cmp dword [ebp - 4], 0x16b3
je 0x4ef7f9
cmp dword [ebp - 4], 0x16b5
je 0x4ef7f9
xor edx, edx
jmp 0x4ef7fb
mov dl, 1
cmp al, dl
jne 0x4ef861
cmp dword [ebp - 4], 0x16b4
je 0x4ef822
cmp dword [ebp - 4], 0x16b5
je 0x4ef822
mov eax, dword [ebx + 0x5b8]
mov edx, esi
call fcn.006521b4
test al, al
je 0x4ef861
mov eax, dword [ebx + 0xb0]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax + esi*4]
mov dword [ebp - 0x1cc], esi
mov al, byte [edi + 0x3d]
xor al, 1
mov byte [edi + 0x3d], al
mov eax, edi
call fcn.00555e78
test al, al
je 0x4ef861
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x8c]
mov dword [ebp - 0x1c4], eax
dec esi
cmp esi, 0xffffffff
jne 0x4ef7c3
mov byte [ebx + 0x49a], 1
mov dword [ebx + 0x928], 0x80000000
mov edx, dword [ebx + 0x304]
mov eax, dword [ebx + 0x300]
mov ecx, dword [eax]
call dword [ecx]
mov eax, ebx
call fcn.005c6368
mov dl, 0xc
mov eax, ebx
call fcn.00567f70
mov eax, dword [ebx + 0x13c]
mov ecx, dword [eax + 0x18]
mov edx, dword [ebp - 0x1c4]
mov eax, ebx
call fcn.005bfa0c
lea ecx, [ebp - 0x324]
mov edx, dword [ebx + 0x258]
mov eax, ebx
call fcn.005feaf8
cmp dword [ebp - 0x324], 0
jge 0x4ef8e1
lea esi, [ebx + 0x258]
lea edi, [ebp - 0x1cc]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x1cc]
xor ecx, ecx
mov eax, ebx
call fcn.005c2348
mov eax, ebx
call fcn.00565840
lea edx, [ebp - 0x1cc]
mov cl, byte [0x4efccc]
mov eax, ebx
call fcn.005c3110
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.005c197c
mov eax, ebx
call fcn.00567fbc
mov eax, dword [ebx + 0x174]
call fcn.00463104
call fcn.00509530
jmp case.0x4ecbc5.5306
mov eax, dword [ebx + 0x5e0]
cmp dword [eax + 0x18], 0
jne 0x4ef948
mov dl, 0x51
mov eax, ebx
call fcn.005cf5d8
jmp 0x4ef957
mov ecx, dword [ebx + 0x5e0]
mov dl, 0x51
mov eax, ebx
call fcn.005cf5e8
mov eax, dword [ebx + 0x174]
mov edx, dword [eax]
call dword [edx + 0x68]
jmp case.0x4ecbc5.5306
mov dl, 0x51
mov eax, ebx
call fcn.005cf5d8
mov eax, dword [ebx + 0x174]
mov edx, dword [eax]
call dword [edx + 0x68]
jmp case.0x4ecbc5.5306
call fcn.00651de8
mov dword [ebp - 0x7c], eax
mov eax, dword [0x672ec4]
mov eax, dword [eax]
mov eax, dword [eax + 0x130]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x138]
mov eax, dword [eax + 0x120]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edi, eax
dec edi
test edi, edi
jl 0x4ef9df
inc edi
xor esi, esi
mov edx, esi
mov eax, dword [ebp - 0x138]
call fcn.0063b44c
test al, al
je 0x4ef9db
mov eax, dword [ebx + 0x5e0]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax + esi*4]
mov eax, dword [ebp - 0x7c]
call fcn.00652038
inc esi
dec edi
jne 0x4ef9b6
mov ecx, dword [ebp - 0x7c]
mov dl, 0x51
mov eax, ebx
call fcn.005cf5e8
mov eax, dword [ebp - 0x7c]
call fcn.00652408
jmp case.0x4ecbc5.5306
cmp dword [ebp - 4], 0x14eb
jne 0x4efa1a
cmp dword [ebx + 0x81c], 0
je 0x4efa1a
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x1c20
call fcn.004f63fc
mov eax, dword [ebx + 0x300]
call fcn.0054ae74
mov dword [ebp - 0x60], eax
mov dl, 0x12
mov eax, ebx
call fcn.00567f08
mov eax, dword [0x672ec4]
mov eax, dword [eax]
mov eax, dword [eax + 0x130]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x13c]
call fcn.0063b334
mov edx, eax
mov eax, dword [ebx + 0x300]
call fcn.0054acac
xor eax, eax
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x13c]
mov eax, dword [eax + 0x120]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edi, eax
dec edi
test edi, edi
jl 0x4efacf
inc edi
xor esi, esi
mov edx, esi
mov eax, dword [ebp - 0x13c]
call fcn.0063b44c
test al, al
je 0x4efacb
mov eax, dword [ebx + 0x5e0]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax + esi*4]
mov eax, ebx
call fcn.005e8a94
push eax
mov eax, dword [ebx + 0x300]
mov edx, dword [ebp - 0xb4]
call fcn.0054accc
pop edx
push esi
push edi
mov esi, edx
mov edi, eax
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
inc dword [ebp - 0xb4]
inc esi
dec edi
jne 0x4efa7f
mov eax, dword [ebx + 0x300]
call fcn.0054af0c
mov eax, ebx
call fcn.00567fbc
mov eax, ebx
call fcn.005c6368
mov eax, dword [ebp - 4]
sub eax, 0x14e9
je 0x4efaf7
dec eax
je 0x4efb17
jmp 0x4efb42
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0xc94
call fcn.004f63fc
mov eax, dword [ebx + 0x174]
mov edx, dword [eax]
call dword [edx + 0x68]
jmp 0x4efbad
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0xd0c
call fcn.004f63fc
mov eax, dword [ebx + 0x300]
mov edx, dword [ebp - 0x60]
mov ecx, dword [eax]
call dword [ecx]
mov eax, ebx
call fcn.005c6368
call fcn.00509530
jmp 0x4efbad
mov cl, 0x28
mov dl, 0xe
mov eax, ebx
call fcn.00567f54
mov eax, dword [ebx + 0x300]
mov eax, dword [eax + 4]
mov dword [ebp - 0x140], eax
push 0x7fffffff
mov al, byte [0x4efccc]
push eax
mov eax, dword [ebp - 0x140]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x140]
mov edx, dword [eax]
mov eax, ebx
call fcn.005c32e0
mov eax, ebx
call fcn.00567fbc
mov dl, 1
mov eax, ebx
call fcn.005c2a0c
mov eax, ebx
call fcn.00567fbc
mov eax, ebx
call fcn.005c1fa8
mov eax, dword [ebx + 0x174]
mov edx, dword [eax]
call dword [edx + 0x68]
call fcn.00509530
mov eax, dword [ebp - 0x60]
call fcn.0054b108
mov eax, dword [ebp + 8]
cmp byte [eax - 5], 0
je 0x4efc56
mov eax, dword [0x671f30]
test byte [eax + 1], 8
je 0x4efc56
call fcn.004e3200
mov ebx, eax
mov eax, ebx
call fcn.005c504c
test al, al
jne 0x4efc56
cmp dword [ebx + 0x258], 0
jle 0x4efc56
cmp dword [ebx + 0x25c], 0
jne 0x4efc56
mov eax, dword [ebx + 0x258]
mov edx, dword [ebx + 0xb0]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4]
cmp byte [eax + 0x3c], 0
je 0x4efc56
lea ecx, [ebp - 0x288]
mov edx, dword [ebx + 0x258]
mov eax, ebx
call fcn.005f2b68
mov eax, dword [ebp - 0x288]
cmp eax, dword [ebx + 0x258]
jne 0x4efc56
mov eax, dword [ebx + 0x258]
mov edx, dword [ebx + 0xb0]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4 - 4]
cmp byte [eax + 0x3c], 0
je 0x4efc56
lea ecx, [ebx + 0x258]
mov dl, 0x4c
mov eax, ebx
call fcn.005cf5e8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4efcc4
lea eax, [ebp - 0x294]
call fcn.00403274
lea eax, [ebp - 0x290]
mov edx, 2
call fcn.00403898
lea eax, [ebp - 0x248]
mov edx, dword [0x546748]
call fcn.00403f10
lea eax, [ebp - 0xa0]
mov edx, 3
call fcn.00403898
lea eax, [ebp - 0x94]
mov edx, 3
call fcn.00403298
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.00403898
ret