Function at 0x4e9c28
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x66
push 0
push 0
dec ecx
jne 0x4e9c30
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
lea eax, [ebp - 0x248]
mov edx, dword [0x543790]
call fcn.00403e38
xor eax, eax
push ebp
push 0x4ed461
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
mov byte [eax - 5], 0
mov eax, dword [0x4ed470]
mov dword [ebp - 0x38], eax
call fcn.004e0984
mov ebx, eax
call fcn.004e0984
test eax, eax
je 0x4e9cae
mov eax, ebx
call fcn.005f88f4
cmp dword [ebp - 4], 0xf00
je 0x4e9cae
cmp dword [ebp - 4], 0xf14
je 0x4e9cae
cmp dword [ebp - 4], 0xf28
je 0x4e9cae
cmp dword [ebp - 4], 0xf3c
je 0x4e9cae
mov eax, ebx
call fcn.005d5a60
mov eax, dword [ebp - 4]
cmp eax, 0x1194
jg 0x4ea073
je 0x4ec535
cmp eax, 0xe58
jg 0x4e9ea6
je 0x4ebf57
cmp eax, 0xd9e
jg 0x4e9dc0
je 0x4eb54a
cmp eax, 0xd0c
jg 0x4e9d5a
je 0x4eb100
cmp eax, 0xca8
jg 0x4e9d2f
je 0x4ead4e
add eax, 0xfffff448
sub eax, 0x1c
jb 0x4ea42f
add eax, 0xffffffcc
sub eax, 4
jb 0x4ea83b
sub eax, 0x74
je 0x4ea917
sub eax, 0x14
je 0x4eab11
jmp case.0x4ea351.5306
sub eax, 0xcbc
je 0x4eae40
sub eax, 0x14
je 0x4eaf39
sub eax, 0x14
je 0x4eaf39
sub eax, 0x14
je 0x4eaf39
jmp case.0x4ea351.5306
cmp eax, 0xd70
jg 0x4e9d95
je 0x4eb31a
sub eax, 0xd20
je 0x4eb1c3
add eax, 0xffffffec
sub eax, 5
jb 0x4eb1c3
sub eax, 0xf
je 0x4eb204
sub eax, 0x14
je 0x4eb251
jmp case.0x4ea351.5306
sub eax, 0xd75
je 0x4eb419
sub eax, 0xf
je 0x4eb486
sub eax, 0x14
je 0x4eb4c3
sub eax, 5
je 0x4eb4db
jmp case.0x4ea351.5306
cmp eax, 0xe0b
jg 0x4e9e31
je 0x4ebddb
cmp eax, 0xdd4
jg 0x4e9e03
je 0x4eb93c
sub eax, 0xdac
je 0x4eb623
sub eax, 0xa
je 0x4eb577
dec eax
je 0x4eb59c
sub eax, 9
je 0x4eb93c
jmp case.0x4ea351.5306
sub eax, 0xde8
je 0x4eb93c
add eax, 0xfffffff6
sub eax, 2
jb 0x4ebbce
sub eax, 8
je 0x4ebbf7
sub eax, 0xa
je 0x4ebc01
jmp case.0x4ea351.5306
cmp eax, 0xe38
jge 0x4e9e63
sub eax, 0xe10
je 0x4ebde7
sub eax, 5
je 0x4ebdfe
sub eax, 0xf
je 0x4ebe48
sub eax, 0xa
je 0x4ebe52
jmp case.0x4ea351.5306
cmp eax, 0xe55
jg 0x4e9e8f
je 0x4ebe80
add eax, 0xfffff1c8
sub eax, 2
jb 0x4ebe5c
add eax, 0xfffffffd
sub eax, 5
jb 0x4ebe6b
jmp case.0x4ea351.5306
sub eax, 0xe56
je 0x4ebec3
dec eax
je 0x4ebf0d
jmp case.0x4ea351.5306
cmp eax, 0xf28
jg 0x4e9f86
je 0x4ec1af
cmp eax, 0xea1
jg 0x4e9f23
je 0x4ec121
cmp eax, 0xe60
jg 0x4e9ef8
je 0x4ec024
sub eax, 0xe5b
je 0x4ebfa1
dec eax
je 0x4ebfcc
sub eax, 2
je 0x4ebff7
dec eax
je 0x4ec008
jmp case.0x4ea351.5306
sub eax, 0xe62
je 0x4ec016
sub eax, 0x12
je 0x4ec0cf
sub eax, 0x14
je 0x4ec0db
sub eax, 0x14
je 0x4ec10b
jmp case.0x4ea351.5306
cmp eax, 0xedd
jg 0x4e9f5b
je 0x4ec15d
sub eax, 0xeb0
je 0x4ec12d
sub eax, 0x14
je 0x4ec139
sub eax, 5
je 0x4ec145
sub eax, 0xf
je 0x4ec151
jmp case.0x4ea351.5306
sub eax, 0xee2
je 0x4ec169
sub eax, 0xa
je 0x4ec175
sub eax, 0x14
je 0x4ec181
sub eax, 0x14
je 0x4ec199
jmp case.0x4ea351.5306
cmp eax, 0xfb4
jg 0x4ea00a
je 0x4ec313
cmp eax, 0xf5f
jge 0x4e9fc8
sub eax, 0xf3c
je 0x4ec1c5
sub eax, 0x14
je 0x4ec1db
sub eax, 5
je 0x4ec20c
add eax, 0xfffffffb
sub eax, 2
jb 0x4ec255
jmp case.0x4ea351.5306
cmp eax, 0xf78
jg 0x4e9ff1
je 0x4ec313
add eax, 0xfffff0a1
sub eax, 2
jb 0x4ec29b
sub eax, 3
je 0x4ec313
jmp case.0x4ea351.5306
sub eax, 0xf8c
je 0x4ec313
sub eax, 0x14
je 0x4ec313
jmp case.0x4ea351.5306
cmp eax, 0x107c
jg 0x4ea042
je 0x4ec3bd
sub eax, 0xfb9
je 0x4ec313
sub eax, 5
je 0x4ec313
sub eax, 0xa
je 0x4ec39b
sub eax, 0x50
je 0x4ec3b1
jmp case.0x4ea351.5306
add eax, 0xffffef7f
sub eax, 2
jb 0x4ec3ff
je 0x4ec40e
add eax, 0xfffffffd
sub eax, 0xd
jb 0x4ec516
add eax, 0xffffffef
sub eax, 0x29
jb 0x4eb93c
jmp case.0x4ea351.5306
cmp eax, 0x13c6
jge 0x4ea246
cmp eax, 0x11d5
jg 0x4ea174
je 0x4ec761
add eax, 0xffffee62
cmp eax, 0x33
ja case.0x4ea351.5306
jmp dword [eax*4 + 0x4ea0a4]
cmp eax, 0x132e
jg 0x4ea1e4
je 0x4ec846
cmp eax, 0x1220
jg 0x4ea1b7
je 0x4ec79d
sub eax, 0x11f8
je 0x4ec771
dec eax
je 0x4ec77d
sub eax, 0x13
je 0x4ec789
sub eax, 0xa
je 0x4ec793
jmp case.0x4ea351.5306
sub eax, 0x1225
je 0x4ec7ad
sub eax, 5
je 0x4ec7bf
sub eax, 5
je 0x4ec7cd
sub eax, 0xf5
je 0x4ec81e
jmp case.0x4ea351.5306
cmp eax, 0x1388
jg 0x4ea21c
je 0x4ec878
sub eax, 0x1333
je 0x4ec856
sub eax, 5
je 0x4ec832
sub eax, 5
je 0x4ec868
sub eax, 5
je 0x4ec828
jmp case.0x4ea351.5306
sub eax, 0x13ba
je 0x4ec8b8
dec eax
je 0x4ec8c4
dec eax
je 0x4ec8d0
add eax, 0xfffffffb
sub eax, 3
jb 0x4ec8dc
jmp case.0x4ea351.5306
cmp eax, 0x14b7
jg 0x4ea332
je 0x4ecd20
cmp eax, 0x1450
jg 0x4ea2ce
je 0x4ecbfe
cmp eax, 0x13d4
jg 0x4ea29d
je 0x4eca99
add eax, 0xffffec3a
sub eax, 3
jb 0x4ecaff
sub eax, 6
jb 0x4ec8f0
sub eax, 3
je 0x4eca27
dec eax
je 0x4eca33
jmp case.0x4ea351.5306
add eax, 0xffffec28
sub eax, 2
jb 0x4ecaff
add eax, 0xfffffffd
sub eax, 2
jb 0x4ecaff
sub eax, 0xd
je 0x4ecbea
sub eax, 5
je 0x4ecbf4
jmp case.0x4ea351.5306
cmp eax, 0x145f
jg 0x4ea304
je 0x4ecc36
sub eax, 0x1455
je 0x4ecc08
sub eax, 5
je 0x4ecc14
sub eax, 2
je 0x4ecc1e
dec eax
je 0x4ecc2a
jmp case.0x4ea351.5306
sub eax, 0x1482
je 0x4ec024
sub eax, 0xa
je 0x4ecc40
sub eax, 0x23
je 0x4ecd08
add eax, 0xfffffffb
sub eax, 2
jb 0x4ecd16
jmp case.0x4ea351.5306
cmp eax, 0x14d7
jg 0x4ea3d0
je 0x4ece1e
add eax, 0xffffeb47
cmp eax, 0x1d
ja case.0x4ea351.5306
jmp dword [eax*4 + 0x4ea358]
cmp eax, 0x16a8
jg 0x4ea405
je 0x4ece2e
sub eax, 0x14e6
je 0x4ed0c5
dec eax
je 0x4ed0ff
dec eax
je 0x4ed11c
dec eax
sub eax, 3
jb 0x4ed194
jmp case.0x4ea351.5306
sub eax, 0x16a9
je 0x4ece8d
dec eax
je 0x4ecee1
dec eax
je 0x4ecf0c
add eax, 0xfffffff9
sub eax, 4
jb 0x4ecf37
jmp case.0x4ea351.5306
mov al, byte [ebp - 4]
sub al, 0xb8
mov byte [ebp - 0x69], al
cmp byte [ebp - 0x69], 0
jne 0x4ea490
mov eax, ebx
call fcn.005c208c
test al, al
jne 0x4ea490
mov eax, ebx
call fcn.005c20c4
test al, al
je 0x4ea490
lea ecx, [ebp - 0x288]
mov edx, dword [ebx + 0x258]
mov eax, ebx
call fcn.005efe38
lea edx, [ebp - 0x288]
lea eax, [ebx + 0x258]
call fcn.00543d00
test eax, eax
jne 0x4ea490
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x3ef0
call fcn.004f3be0
jmp case.0x4ea351.5306
mov al, byte [ebp - 0x69]
sub al, 3
jb 0x4ea49f
sub al, 0x13
jne 0x4ea784
call fcn.004e940c
xor eax, eax
mov dword [ebp - 0x70], eax
mov al, byte [ebp - 0x69]
sub al, 2
je 0x4ea4b4
sub al, 0x14
jne 0x4ea4dd
mov eax, ebx
call fcn.005c20c4
test al, al
je 0x4ea4dd
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x3ef0
call fcn.004f3be0
mov eax, dword [ebx + 0x4ac]
call fcn.0064ea3c
mov dword [ebp - 0x70], eax
mov eax, dword [ebx + 0x300]
call fcn.00547ce4
dec eax
jne 0x4ea525
mov eax, ebx
call fcn.005c208c
test al, al
je 0x4ea510
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 0x4ea52f
lea esi, [ebx + 0x258]
lea edi, [ebp - 0x1cc]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
jmp 0x4ea52f
mov dword [ebp - 0x1cc], 0x80000000
mov eax, ebx
call fcn.005cb170
mov edi, eax
call fcn.0064e140
mov esi, eax
mov al, byte [ebp - 0x69]
sub al, 2
je 0x4ea54a
sub al, 0x14
jne 0x4ea584
mov eax, ebx
call fcn.005c208c
test al, al
jne 0x4ea55e
cmp dword [ebx + 0x25c], 0
jg 0x4ea578
mov eax, ebx
call fcn.005c20a0
test al, al
je 0x4ea584
mov eax, dword [ebx + 0x300]
mov eax, dword [eax + 4]
cmp dword [eax + 4], 0
jle 0x4ea584
mov edx, 0xd
mov eax, esi
call fcn.0064e3a8
xor eax, eax
mov al, byte [ebp - 0x69]
mov edx, dword [0x66fec8]
movzx edx, word [edx + eax*2]
mov eax, esi
call fcn.0064e3a8
cmp byte [ebp - 0x69], 2
jne 0x4ea5ac
mov edx, 0xd
mov eax, esi
call fcn.0064e3a8
mov eax, dword [ebx + 0x300]
call fcn.00547ce4
dec eax
jle 0x4ea5d1
mov eax, dword [ebx + 0x300]
mov edx, 1
call fcn.00547cf4
mov eax, ebx
call fcn.005c33a8
mov byte [ebx + 0x44b], 1
mov eax, ebx
call fcn.005c5a7c
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 0x4ea611
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x37], 0
setne al
mov byte [ebx + 0x476], al
cmp byte [ebx + 0x476], 0
je 0x4ea656
mov eax, ebx
call fcn.005c208c
test al, al
je 0x4ea63f
lea ecx, [ebp - 0x228]
mov eax, dword [ebx + 0x300]
mov eax, dword [eax + 4]
mov edx, eax
mov eax, ebx
call fcn.005c51e4
jmp 0x4ea656
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.00564f50
mov ecx, esi
mov dl, 0xd
mov eax, ebx
call fcn.005cc628
mov eax, ebx
call fcn.00565004
cmp byte [ebx + 0x476], 0
je 0x4ea6cd
movsx eax, word [ebx + 0x33a]
cmp eax, dword [ebp - 0xa8]
jne 0x4ea6cd
mov eax, dword [0x66ebb0]
mov eax, dword [eax]
mov dword [ebp - 0xb8], eax
mov eax, dword [0x66ebb0]
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.005cc650
mov eax, dword [0x66ebb0]
mov edx, dword [ebp - 0xb8]
mov dword [eax], edx
mov byte [ebx + 0x476], 0
mov eax, dword [0x66faf0]
mov eax, dword [eax]
call fcn.004aa544
test al, al
je 0x4ea6e7
mov eax, 0x3070
call fcn.004ab0f8
mov byte [ebx + 0x44b], 0
mov eax, dword [0x66eec8]
test byte [eax], 1
je 0x4ea735
cmp dword [ebp - 0x1cc], 0x80000000
je 0x4ea735
lea eax, [ebp - 0x1cc]
push eax
mov ecx, dword [esi + 4]
mov dl, 0x19
mov eax, ebx
call fcn.005cc638
cmp byte [ebx + 0x461], 0
je 0x4ea735
mov eax, 0x898
call fcn.004ab0f8
mov eax, dword [0x66faf0]
mov eax, dword [eax]
mov byte [eax + 6], 1
mov eax, esi
call fcn.004028c0
cmp dword [ebp - 0x70], 0
je case.0x4ea351.5306
mov eax, ebx
call fcn.005cb170
cmp edi, eax
je case.0x4ea351.5306
mov eax, dword [ebx + 0x4ac]
call fcn.0064ea3c
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.0x4ea351.5306
mov eax, dword [ebx + 0x300]
call fcn.00547ce4
mov dword [ebp - 0xb0], eax
mov byte [ebp - 0x248], 3
mov al, byte [0x4ed470]
mov byte [ebp - 0x247], al
mov dword [ebp - 0x244], 0xd20
xor eax, eax
mov al, byte [ebp - 0x69]
mov edx, dword [0x66fec8]
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.005cc628
mov byte [ebx + 0x47d], 0
mov eax, dword [0x66eec8]
test byte [eax], 1
je case.0x4ea351.5306
cmp dword [ebp - 0xb0], 1
jne case.0x4ea351.5306
lea eax, [ebx + 0x258]
push eax
lea ecx, [ebp - 0x230]
mov dl, 0x19
mov eax, ebx
call fcn.005cc638
cmp byte [ebx + 0x461], 0
je case.0x4ea351.5306
mov eax, 0x898
call fcn.004ab0f8
mov eax, dword [0x66faf0]
mov eax, dword [eax]
mov byte [eax + 6], 1
jmp case.0x4ea351.5306
call fcn.004e940c
xor eax, eax
mov dword [ebp - 0x70], eax
mov eax, ebx
call fcn.005c20c4
test al, al
je 0x4ea86e
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x3ef0
call fcn.004f3be0
mov eax, dword [ebx + 0x4ac]
call fcn.0064ea3c
mov dword [ebp - 0x70], eax
mov eax, ebx
call fcn.005cb170
mov edi, eax
call fcn.0064e140
mov esi, eax
mov edx, 0xc
mov eax, esi
call fcn.0064e41c
mov dl, byte [ebp - 4]
sub dl, 8
mov eax, esi
call fcn.0064e380
mov dl, 0x30
mov eax, ebx
call fcn.00564f50
mov ecx, esi
mov dl, 0xd
mov eax, ebx
call fcn.005cc628
mov eax, ebx
call fcn.00565004
mov eax, esi
call fcn.004028c0
cmp dword [ebp - 0x70], 0
je 0x4ea8f4
mov eax, ebx
call fcn.005cb170
cmp edi, eax
je 0x4ea8f4
mov eax, dword [ebx + 0x4ac]
call fcn.0064ea3c
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 [0x66faf0]
mov eax, dword [eax]
call fcn.004aa544
test al, al
je case.0x4ea351.5306
mov eax, 0x3070
call fcn.004ab0f8
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005c208c
test al, al
jne 0x4ea92e
mov eax, dword [ebx + 0x318]
cmp dword [eax + 0x18], 0
jle 0x4ea93f
mov eax, dword [ebp + 8]
push eax
mov al, 1
call fcn.004e323c
pop ecx
jmp case.0x4ea351.5306
lea edx, [ebx + 0x258]
mov eax, ebx
call fcn.005c499c
test al, al
je 0x4ea961
mov eax, dword [0x66ebec]
mov eax, dword [eax]
call fcn.0061feb4
jmp case.0x4ea351.5306
lea esi, [ebx + 0x258]
cmp dword [esi], 0
jle 0x4ea9d2
cmp dword [esi + 4], 0
jne 0x4ea9d2
mov edx, dword [esi]
mov eax, ebx
call fcn.00563a8c
mov edx, eax
mov eax, ebx
call fcn.00563b04
cmp eax, dword [esi]
jle 0x4ea9d2
mov edx, dword [esi]
mov eax, ebx
call fcn.005bd358
dec eax
jne 0x4ea9d2
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 0x4ea9d2
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 0x4ea9d2
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 0x4ea9d6
xor eax, eax
jmp 0x4ea9d8
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.00551db0
mov esi, eax
mov eax, esi
sub ax, 0x20
jb 0x4eaa2f
mov eax, esi
call fcn.0062dec8
test al, al
je 0x4eaa33
xor eax, eax
jmp 0x4eaa35
mov al, 1
mov byte [ebp - 0xb9], al
cmp byte [ebp - 0xb9], 0
je 0x4eaa4b
mov byte [ebx + 0x43e], 1
or dword [ebp - 0x38], 0x100
lea edx, [ebp - 0x268]
mov eax, ebx
call fcn.005c5b70
mov eax, dword [ebp - 0x268]
cmp eax, dword [ebp - 0x258]
jne 0x4eaa7d
cmp dword [ebp - 0x254], 1
jne 0x4eaa7d
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.005cc66c
mov byte [ebx + 0x446], 0
cmp byte [ebx + 0x461], 0
je 0x4eaae9
mov eax, dword [ebx + 0x4ac]
call fcn.0064ea3c
mov dword [ebp - 0xc8], eax
mov eax, esi
sub ax, 0xb
je 0x4eaac3
sub ax, 0x15
jne 0x4eaacf
mov eax, dword [ebp - 0xc8]
or byte [eax + 0x34], 2
jmp 0x4eaadf
cmp si, 0x20
jbe 0x4eaadf
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 0x4eab02
mov dl, 1
mov eax, ebx
call fcn.005e2614
mov eax, 0x8fc
call fcn.004ab0f8
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005c208c
test al, al
je 0x4eab53
mov edx, dword [ebx + 0x300]
mov eax, ebx
call fcn.005c2124
test al, al
je 0x4eab42
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x3f16
call fcn.004f3be0
jmp case.0x4ea351.5306
mov eax, dword [ebp + 8]
push eax
xor eax, eax
call fcn.004e323c
pop ecx
jmp case.0x4ea351.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.005c5b70
mov eax, dword [ebp - 0x288]
cmp eax, dword [ebp - 0x1c]
jl 0x4eab87
cmp dword [ebp - 0x18], 0
jle case.0x4ea351.5306
cmp dword [ebp - 0x18], 0
jne 0x4eabad
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
mov eax, ebx
call fcn.005bd358
dec eax
mov dword [ebp - 0x10], eax
mov byte [ebp - 0xb9], 0
xor esi, esi
jmp 0x4eabf9
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.00551db0
mov esi, eax
mov eax, esi
sub ax, 0x20
jb 0x4eabed
mov eax, esi
call fcn.0062dec8
test al, al
je 0x4eabf1
xor eax, eax
jmp 0x4eabf3
mov al, 1
mov byte [ebp - 0xb9], al
lea eax, [ebp - 0x14]
mov edx, eax
mov eax, ebx
call fcn.005c499c
test al, al
je 0x4eac1a
mov eax, dword [0x66ebec]
mov eax, dword [eax]
call fcn.0061feb4
jmp case.0x4ea351.5306
lea edi, [ebx + 0x258]
mov edx, dword [edi]
mov eax, ebx
call fcn.00563a8c
mov edx, eax
mov eax, ebx
call fcn.00563ae0
inc eax
cmp eax, dword [edi]
jge 0x4eac90
cmp dword [edi + 4], 0
jne 0x4eac90
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 0x4eac90
mov edx, dword [edi]
dec edx
mov eax, ebx
call fcn.005bd358
dec eax
jne 0x4eac90
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 0x4eac90
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 0x4eac94
xor eax, eax
jmp 0x4eac96
mov al, 1
mov edx, dword [ebp + 8]
mov byte [edx - 5], al
or dword [ebp - 0x38], 0x800
cmp byte [ebp - 0xb9], 0
je 0x4eacb3
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.005cc66c
cmp byte [ebx + 0x461], 0
je 0x4ead1f
mov eax, dword [ebx + 0x4ac]
call fcn.0064ea3c
mov dword [ebp - 0xcc], eax
mov eax, esi
sub ax, 0xb
je 0x4eacf9
sub ax, 0x15
jne 0x4ead05
mov eax, dword [ebp - 0xcc]
or byte [eax + 0x34], 2
jmp 0x4ead15
cmp si, 0x20
jbe 0x4ead15
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 0x4ead38
mov dl, 1
mov eax, ebx
call fcn.005e2614
mov eax, 0x8fc
call fcn.004ab0f8
mov byte [ebx + 0x41d], 0
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005c2058
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.005c05d0
lea edx, [ebp - 0x160]
lea eax, [ebp - 0x150]
call fcn.00543d00
test eax, eax
je case.0x4ea351.5306
lea ecx, [ebp - 0x288]
lea edx, [ebp - 0x160]
lea eax, [ebp - 0x150]
call fcn.00543a5c
lea edx, [ebp - 0x288]
mov eax, ebx
call fcn.005c47a8
test al, al
je 0x4eadc9
mov eax, dword [0x66ebec]
mov eax, dword [eax]
call fcn.0061feb4
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005c208c
test al, al
je 0x4eae06
mov eax, dword [ebx + 0x300]
mov eax, dword [eax + 4]
mov dword [ebp - 0xd0], eax
push 0x7fffffff
mov al, byte [0x4ed474]
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.005c0320
mov eax, dword [0x66ebb0]
test byte [eax], 0x20
je 0x4eae14
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.005cc66c
mov eax, 0x8fc
call fcn.004ab0f8
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005c2058
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.005c07e4
lea edx, [ebp - 0x160]
lea eax, [ebp - 0x150]
call fcn.00543d00
test eax, eax
je case.0x4ea351.5306
lea ecx, [ebp - 0x288]
lea edx, [ebp - 0x150]
lea eax, [ebp - 0x160]
call fcn.00543a5c
lea edx, [ebp - 0x288]
mov eax, ebx
call fcn.005c47a8
test al, al
je 0x4eaebb
mov eax, dword [0x66ebec]
mov eax, dword [eax]
call fcn.0061feb4
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005c208c
test al, al
je 0x4eaef8
mov eax, dword [ebx + 0x300]
mov eax, dword [eax + 4]
mov dword [ebp - 0xd4], eax
push 0x7fffffff
mov al, byte [0x4ed474]
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.005c0320
mov eax, dword [0x66ebb0]
test byte [eax], 0x20
je 0x4eaf06
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.005cc66c
mov eax, 0x8fc
call fcn.004ab0f8
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005c2058
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.00552bb8
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.005c208c
test al, al
je 0x4eafcb
mov eax, dword [ebx + 0x300]
mov eax, dword [eax + 4]
mov dword [ebp - 0xdc], eax
push 0x7fffffff
mov al, byte [0x4ed474]
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.005c0320
mov eax, dword [ebp - 4]
sub eax, 0xcd0
je 0x4eafdc
sub eax, 0x14
je 0x4eafff
jmp 0x4eb022
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 0x4eb062
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 0x4eb062
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.005515b4
dec eax
cmp eax, dword [esi + 0x34]
je 0x4eb05f
mov eax, esi
call fcn.0054af30
test al, al
je 0x4eb062
dec dword [ebp - 0x18]
lea ecx, [ebp - 0x288]
lea edx, [ebp - 0x1c]
lea eax, [ebp - 0x14]
call fcn.00543a5c
lea edx, [ebp - 0x288]
mov eax, ebx
call fcn.005c47a8
test al, al
je 0x4eb095
mov eax, dword [0x66ebec]
mov eax, dword [eax]
call fcn.0061feb4
jmp case.0x4ea351.5306
mov eax, dword [0x66ebb0]
test byte [eax], 0x20
je 0x4eb0a3
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.005cc66c
cmp dword [ebp - 4], 0xcd0
je 0x4eb0d3
cmp dword [ebp - 4], 0xce4
jne 0x4eb0f1
push 0x7fffffff
mov al, byte [0x4ed470]
push eax
mov ecx, dword [ebx + 0x25c]
mov edx, dword [ebx + 0x258]
mov eax, ebx
call fcn.005c0320
mov eax, 0x8fc
call fcn.004ab0f8
jmp case.0x4ea351.5306
call fcn.00536b48
mov dword [ebp - 0xe0], eax
or dword [0x672e70], 0x2000
mov edx, dword [ebx + 0x300]
mov eax, ebx
call fcn.005c2124
test al, al
je 0x4eb134
mov eax, ebx
call fcn.005f2178
mov byte [0x672e78], al
jmp 0x4eb13b
mov byte [0x672e78], 0xff
mov edx, 0x2710
mov eax, dword [ebp - 0xe0]
call fcn.00535c50
xor eax, eax
push ebp
push 0x4eb18e
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
call fcn.004e0984
mov edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0xe0]
call fcn.005366dc
mov eax, dword [0x66ebb0]
cmp byte [eax + 4], 0
jne 0x4eb184
mov eax, 0x910
call fcn.004ab0f8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4eb1a4
mov eax, dword [ebp - 0xe0]
call fcn.00535e10
and dword [0x672e70], 0xffffdfff
call fcn.00506ba4
jmp case.0x4ea351.5306
mov byte [ebp - 0x248], 0
mov al, byte [0x4ed470]
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.005cc628
mov eax, 0x924
call fcn.004ab0f8
jmp case.0x4ea351.5306
lea eax, [ebp - 0x240]
call fcn.004aec14
test al, al
je case.0x4ea351.5306
mov byte [ebp - 0x248], 0
mov al, byte [0x4ed470]
mov byte [ebp - 0x247], al
mov dword [ebp - 0x244], 0xd20
lea ecx, [ebp - 0x248]
mov dl, 0xe
mov eax, ebx
call fcn.005cc628
mov eax, 0x924
call fcn.004ab0f8
jmp case.0x4ea351.5306
call fcn.00536b48
mov dword [ebp - 0xe4], eax
or dword [0x672e70], 0x2000
mov edx, dword [ebx + 0x300]
mov eax, ebx
call fcn.005c2124
test al, al
je 0x4eb285
mov eax, ebx
call fcn.005f2178
mov byte [0x672e78], al
jmp 0x4eb28c
mov byte [0x672e78], 0xff
mov edx, 0x2710
mov eax, dword [ebp - 0xe4]
call fcn.00535c50
push 0
call fcn.004e0984
mov edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0xe4]
call fcn.005366dc
mov eax, dword [ebp - 0xe4]
call fcn.00535e10
and dword [0x672e70], 0xffffdfff
mov eax, ebx
call fcn.005c208c
test al, al
je 0x4eb2f0
mov eax, ebx
call fcn.005f2178
dec eax
sub al, 3
jae 0x4eb2f0
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x3f16
call fcn.004f3be0
jmp 0x4eb2fc
mov eax, dword [ebp + 8]
push eax
mov al, 1
call fcn.004e323c
pop ecx
mov eax, ebx
call fcn.005c208c
test al, al
jne case.0x4ea351.5306
mov eax, 0x938
call fcn.004ab0f8
jmp case.0x4ea351.5306
call fcn.00536b48
call fcn.005355d0
mov esi, eax
mov byte [ebp - 0xba], 0
mov ebx, dword [esi + 8]
push 0x7fffffff
mov al, byte [0x4ed474]
push eax
mov edx, dword [ebx + 0x12c]
dec edx
mov eax, ebx
call fcn.005bd358
mov ecx, eax
dec ecx
mov edx, dword [ebx + 0x12c]
dec edx
mov eax, ebx
call fcn.005c0320
cmp dword [ebx + 0x25c], 0
jle 0x4eb3cc
call fcn.004aaa90
mov eax, dword [0x66eec8]
test byte [eax], 1
setne al
mov byte [ebp - 0xbb], al
mov eax, dword [0x66eec8]
and word [eax], 0xfffe
mov eax, dword [esi + 8]
call fcn.004e0998
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0xbb8
call fcn.004f3be0
call fcn.004e09b4
cmp byte [ebp - 0xbb], 0
je 0x4eb3b1
mov eax, dword [0x66eec8]
or word [eax], 1
call fcn.004aaa88
mov eax, dword [ebx + 0x4ac]
call fcn.0064ea3c
mov byte [eax + 0x36], 0xd
mov byte [ebp - 0xba], 1
mov eax, ebx
call fcn.005cb170
mov edi, eax
call fcn.004e0984
mov edx, eax
mov eax, esi
call fcn.00534564
cmp byte [ebp - 0xba], 0
je 0x4eb40a
mov eax, dword [esi + 8]
call fcn.005cb170
cmp edi, eax
je 0x4eb40a
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x4ac]
call fcn.0064ea3c
or byte [eax + 0x34], 4
mov eax, 0x94c
call fcn.004ab0f8
jmp case.0x4ea351.5306
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0xd70
call fcn.004f3be0
call fcn.004aaa90
mov eax, ebx
call fcn.005c208c
test al, al
je 0x4eb457
mov eax, ebx
call fcn.005f2178
dec eax
sub al, 3
jae 0x4eb457
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x3f16
call fcn.004f3be0
jmp 0x4eb463
mov eax, dword [ebp + 8]
push eax
mov al, 1
call fcn.004e323c
pop ecx
call fcn.004aaa88
mov eax, ebx
call fcn.005c208c
test al, al
jne case.0x4ea351.5306
mov eax, 0x951
call fcn.004ab0f8
jmp case.0x4ea351.5306
call fcn.00536b48
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
call fcn.00535c0c
test al, al
je case.0x4ea351.5306
mov eax, dword [ebp - 0xe8]
call fcn.005355d0
call fcn.0053413c
mov eax, 0x960
call fcn.004ab0f8
jmp case.0x4ea351.5306
mov dl, 0xf
mov eax, ebx
call fcn.005cc618
mov eax, 0x974
call fcn.004ab0f8
jmp case.0x4ea351.5306
mov eax, dword [0x66ebb0]
mov al, byte [eax + 4]
xor al, 1
mov edx, dword [0x66ebb0]
mov byte [edx + 4], al
call fcn.00506b9c
mov eax, dword [0x6702a4]
cmp dword [eax], 0
je case.0x4ea351.5306
call fcn.00536b48
cmp dword [eax + 0xc], 0
je case.0x4ea351.5306
call fcn.00536b48
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 8]
mov eax, dword [0x6702a4]
mov eax, dword [eax]
call fcn.0053d054
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je case.0x4ea351.5306
mov eax, dword [ebp - 0x88]
call fcn.0053bc4c
jmp case.0x4ea351.5306
mov eax, dword [0x66ebb0]
test byte [eax + 1], 2
je 0x4eb562
mov eax, dword [0x66ebb0]
and dword [eax], 0xfffffdff
jmp 0x4eb56d
mov eax, dword [0x66ebb0]
or dword [eax], 0x200
call fcn.00506b9c
jmp case.0x4ea351.5306
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x233c
call fcn.004f3be0
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x2ef4
call fcn.004f3be0
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005cb170
mov edi, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x2350
call fcn.004f3be0
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x2f08
call fcn.004f3be0
mov eax, ebx
call fcn.005cb170
cmp edi, eax
je case.0x4ea351.5306
mov eax, dword [ebx + 0x4ac]
call fcn.0064ea3c
mov byte [eax + 0x36], 0xe
mov edx, edi
mov eax, ebx
call fcn.005cb1bc
cmp eax, 2
jne case.0x4ea351.5306
mov eax, dword [ebx + 0x4ac]
call fcn.0064ea3c
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.0x4ea351.5306
lea edx, [ebx + 0x304]
mov eax, ebx
call fcn.005c2480
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.00547ce4
dec eax
jne 0x4eb7ae
mov eax, dword [0x66ebb0]
test byte [eax], 0x20
je 0x4eb67c
mov edx, dword [ebx + 0x304]
mov eax, ebx
call fcn.005c4bd8
test al, al
je 0x4eb67c
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.005bd358
cmp eax, dword [ebp - 0x28]
jne 0x4eb7a0
lea edx, [ebp - 0x288]
mov eax, ebx
call fcn.005c5b70
mov eax, dword [ebp - 0x278]
cmp eax, dword [ebp - 0x2c]
je 0x4eb6f8
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 0x4eb7a0
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 0x4eb7a0
push 0
mov al, byte [0x4ed474]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
mov eax, ebx
call fcn.005c0320
lea ecx, [ebx + 0x34c]
lea eax, [ebp - 0x2c]
mov edx, eax
mov eax, ebx
call fcn.005c51e4
mov byte [ebx + 0x418], 1
mov eax, dword [0x66eec8]
test byte [eax], 1
setne al
mov byte [ebp - 0xbb], al
mov eax, dword [0x66eec8]
and word [eax], 0xfffe
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0xbb8
call fcn.004f3be0
cmp byte [ebp - 0xbb], 0
je 0x4eb762
mov eax, dword [0x66eec8]
or word [eax], 1
mov eax, dword [ebx + 0x4ac]
call fcn.0064ea3c
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.00547e48
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 0x4eb7e1
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.005bd358
cmp eax, dword [ebp - 0x30]
jne 0x4eb7f8
inc dword [ebp - 0x34]
xor eax, eax
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x34]
mov eax, ebx
call fcn.005f73b4
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.005cc878
mov byte [ebx + 0x44b], 0
cmp byte [ebp - 0xba], 0
je case.0x4ea351.5306
mov eax, dword [ebx + 0x4ac]
call fcn.0064ea3c
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.00543a4c
mov eax, dword [0x4ed478]
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.005cc66c
cmp byte [ebx + 0x461], 0
je case.0x4ea351.5306
push 0
mov al, byte [0x4ed470]
push eax
mov ecx, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1ac]
mov eax, ebx
call fcn.005c0320
mov eax, dword [ebx + 0x4ac]
call fcn.0064ea3c
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 [0x4ed470]
push eax
mov ecx, dword [ebp - 0x1b8]
mov edx, dword [ebp - 0x1bc]
mov eax, ebx
call fcn.005c2d68
jmp case.0x4ea351.5306
cmp dword [ebp - 4], 0xdc0
jne 0x4eb958
lea eax, [ebx + 0x5f8]
call fcn.004af2f0
test al, al
je case.0x4ea351.5306
cmp dword [ebp - 4], 0xdc0
je 0x4eb96e
mov eax, ebx
call fcn.005d5768
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.00564f50
mov edx, dword [ebx + 0x5f8]
mov eax, dword [0x66fa6c]
mov eax, dword [eax]
call fcn.0048d81c
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
sub eax, 0xdc0
je 0x4eb9ba
sub eax, 0x14
je 0x4eb9c5
sub eax, 0x14
je 0x4eb9d0
jmp 0x4eb9db
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x40], eax
jmp 0x4eb9e6
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
mov dword [ebp - 0x40], eax
jmp 0x4eb9e6
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x40], eax
jmp 0x4eb9e6
mov eax, dword [ebp - 4]
sub eax, 0x10a4
mov dword [ebp - 0x40], eax
xor ecx, ecx
mov dl, byte [0x4ed47c]
mov eax, dword [ebp - 0x48]
call fcn.0048d5ac
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 [0x66fa6c]
mov eax, dword [eax]
cmp byte [eax + 0x21], 0
je 0x4ebb06
mov byte [ebp - 0x61], 0x1f
mov eax, dword [ebx + 0x5f8]
call fcn.0062dff8
mov edx, dword [0x670074]
mov eax, dword [edx + eax*4]
cmp eax, dword [ebp - 0x40]
jg 0x4eba5e
mov byte [ebp - 0x61], 0x20
push 0x4ed484
lea edx, [ebp - 0x290]
mov eax, dword [ebp - 0x9c]
call fcn.0065686c
mov eax, dword [ebp - 0x290]
lea edx, [ebp - 0x28c]
call fcn.0054586c
push dword [ebp - 0x28c]
push 0x4ed494
lea eax, [ebp - 0x98]
mov edx, 3
call fcn.00403b78
mov eax, dword [0x66fa6c]
mov eax, dword [eax]
cmp byte [eax + 0x20], 0
je 0x4ebaee
push dword [ebp - 0x98]
push 0x4ed49c
lea eax, [ebp - 0x28c]
mov edx, dword [0x66fa6c]
mov edx, dword [edx]
movzx edx, byte [edx + 0x20]
mov ecx, dword [0x66fc0c]
mov edx, dword [ecx + edx*4]
call fcn.004039c0
push dword [ebp - 0x28c]
lea eax, [ebp - 0x98]
mov edx, 3
call fcn.00403b78
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x61]
mov dl, 0x28
mov eax, ebx
call fcn.005cc638
jmp 0x4ebbac
call fcn.00656138
add esp, 0xfffffff8
fstp qword [esp]
wait
lea ecx, [ebp - 8]
mov edx, dword [ebx + 0x5f8]
mov eax, dword [ebp - 0x9c]
call fcn.006566a8
mov edx, dword [ebx + 0x5f8]
mov eax, dword [0x66e8a0]
mov eax, dword [eax]
call fcn.004827d0
test byte [eax + 0x30], 4
je 0x4ebb63
lea eax, [ebp - 0x28c]
push eax
mov cx, 0xa0
mov dx, 0x20
mov eax, dword [ebp - 8]
call fcn.00653ce4
mov edx, dword [ebp - 0x28c]
lea eax, [ebp - 8]
call fcn.004038bc
lea ecx, [ebp - 0x28c]
mov eax, dword [0x66fa6c]
mov eax, dword [eax]
mov dl, byte [eax + 0x20]
mov eax, dword [ebp - 8]
call fcn.005468c8
mov eax, dword [ebp - 0x28c]
call fcn.0064e190
mov esi, eax
mov eax, dword [0x66ebb0]
test byte [eax], 0x20
je 0x4ebb96
or dword [ebp - 0x38], 0x40
lea eax, [ebp - 0x38]
push eax
mov ecx, esi
mov dl, 0xd
mov eax, ebx
call fcn.005cc638
mov eax, esi
call fcn.004028c0
mov eax, 0x99c
call fcn.004ab0f8
mov eax, ebx
call fcn.00565004
mov eax, dword [ebp - 0xa4]
mov dword [ebx + 0x1ec], eax
jmp case.0x4ea351.5306
mov byte [ebp - 0x61], 0x21
cmp dword [ebp - 4], 0xdf3
jne 0x4ebbdf
mov byte [ebp - 0x61], 0x1a
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x61]
mov dl, 0x28
mov eax, ebx
call fcn.005cc638
jmp case.0x4ea351.5306
call fcn.00441628
jmp case.0x4ea351.5306
mov dl, 1
mov eax, dword [0x542640]
call fcn.0055f5f4
mov dword [ebp - 0x68], eax
mov edx, dword [0x66e8a8]
mov edx, dword [edx + 0x88]
lea eax, [ebp - 0x294]
mov ecx, 0x4ed4b0
call fcn.00403568
mov edx, dword [ebp - 0x294]
mov eax, dword [ebp - 0x68]
call fcn.0055fbd0
mov eax, dword [ebp - 0x68]
call fcn.004bf904
mov eax, ebx
call fcn.005c208c
test al, al
je 0x4ebc8f
xor edi, edi
mov eax, dword [ebx + 0x300]
call fcn.00547ce4
mov esi, eax
dec esi
cmp esi, 0
jl 0x4ebca2
mov eax, dword [ebx + 0x300]
mov edx, esi
call fcn.00547d14
mov edx, dword [eax]
mov eax, ebx
call fcn.00563f50
mov edx, dword [eax + 0x584]
mov eax, edi
call fcn.00653540
mov edi, eax
dec esi
cmp esi, 0xffffffff
jne 0x4ebc62
jmp 0x4ebca2
lea edx, [ebp - 0x304]
mov eax, ebx
call fcn.00563fc0
mov edi, dword [ebp - 0x2a8]
mov eax, dword [0x66e8a8]
test byte [eax + 4], 8
jne 0x4ebcbf
mov edx, edi
mov eax, dword [ebp - 0x68]
call fcn.004bf9a4
test al, al
je 0x4ebdce
mov eax, ebx
call fcn.005c208c
test al, al
jne 0x4ebd09
cmp dword [ebx + 0x25c], 0
jle 0x4ebce3
lea eax, [ebp - 0x90]
mov edx, 0x4ed4d8
call fcn.0040330c
mov edx, dword [ebx + 0x258]
mov eax, ebx
call fcn.005bd358
dec eax
cmp eax, dword [ebx + 0x25c]
jle 0x4ebd09
lea eax, [ebp - 0x94]
mov edx, 0x4ed4e4
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.0055fcac
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, 0x4ed4ec
mov ecx, 2
call fcn.00655a28
mov byte [ebp - 0x248], 2
mov dword [ebp - 0x244], 0xd20
call fcn.0064e140
mov dword [ebp - 0x234], eax
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x234]
call fcn.0064e44c
mov eax, dword [0x66f038]
or word [eax], 0x80
mov byte [ebx + 0x7d8], 0x41
lea ecx, [ebp - 0x248]
mov dl, 0xe
mov eax, ebx
call fcn.005cc628
mov eax, dword [0x66f038]
and word [eax], 0xff7f
mov eax, dword [ebp - 0x234]
call fcn.004028c0
mov eax, dword [ebp - 0x68]
call fcn.004028c0
jmp case.0x4ea351.5306
push ebp
call fcn.004e6eac
pop ecx
jmp case.0x4ea351.5306
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
xor ecx, ecx
mov edx, 0x31ed4
call fcn.004f4c54
jmp case.0x4ea351.5306
lea edx, [ebp - 0x28c]
mov eax, 0x4ed514
call fcn.00654d58
mov ecx, dword [ebp - 0x28c]
mov edx, dword [0x66f7d4]
mov edx, dword [edx + 4]
lea eax, [ebp - 0xc]
call fcn.00403b14
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.004f4c54
jmp case.0x4ea351.5306
call fcn.004e6fc4
jmp case.0x4ea351.5306
call fcn.004e7054
jmp case.0x4ea351.5306
mov al, byte [ebp - 4]
sub al, 0x38
call fcn.005fe7e8
jmp case.0x4ea351.5306
call fcn.005fe7e0
mov dl, byte [ebp - 4]
sub dl, 0x3d
call fcn.00603a4c
jmp case.0x4ea351.5306
call fcn.005fe7e0
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.00506b9c
jmp case.0x4ea351.5306
call fcn.005fe7e0
mov dword [ebp - 0xfc], eax
xor edx, edx
mov eax, dword [ebp - 0xfc]
call fcn.006020cc
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x1cc]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x100]
call fcn.006374f8
mov edx, eax
xor dl, 1
mov eax, dword [ebp - 0x100]
call fcn.00637504
jmp case.0x4ea351.5306
call fcn.005fe7e0
mov dword [ebp - 0x104], eax
xor edx, edx
mov eax, dword [ebp - 0x104]
call fcn.006020cc
mov eax, dword [ebp - 0x104]
mov eax, dword [eax + 0x1d0]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x108]
call fcn.006374f8
mov edx, eax
xor dl, 1
mov eax, dword [ebp - 0x108]
call fcn.00637504
jmp case.0x4ea351.5306
call fcn.005fe7e0
mov dword [ebp - 0x10c], eax
xor edx, edx
mov eax, dword [ebp - 0x10c]
call fcn.006020cc
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + 0x1d4]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x110]
call fcn.006374f8
mov edx, eax
xor dl, 1
mov eax, dword [ebp - 0x110]
call fcn.00637504
jmp case.0x4ea351.5306
mov eax, dword [0x66ebb0]
test byte [eax + 2], 0x20
je 0x4ebfbc
mov eax, dword [0x66ebb0]
and dword [eax], 0xffdfffff
jmp case.0x4ea351.5306
mov eax, dword [0x66ebb0]
or dword [eax], 0x200000
jmp case.0x4ea351.5306
mov eax, dword [0x66ebb0]
and dword [eax], 0xffdfffff
call fcn.005fe7e0
mov al, byte [eax + 0x20a]
call fcn.005fe7e8
mov eax, dword [0x66ebb0]
or dword [eax], 0x200000
jmp case.0x4ea351.5306
mov eax, dword [0x66ee78]
mov eax, dword [eax]
call fcn.0060740c
jmp case.0x4ea351.5306
xor edx, edx
xor eax, eax
call fcn.004df1a4
jmp case.0x4ea351.5306
xor edx, edx
xor eax, eax
call fcn.004df868
jmp case.0x4ea351.5306
or dword [0x672e70], 0x4000
lea eax, [ebp - 0xa0]
mov edx, dword [0x66f7d4]
mov edx, dword [edx + 0xc]
call fcn.004038bc
mov edx, dword [ebx + 0x300]
mov eax, ebx
call fcn.005c2124
test al, al
je 0x4ec084
mov eax, ebx
call fcn.005f2178
mov byte [0x672e78], al
lea edx, [ebp - 0x28c]
mov eax, 0x4ed51c
call fcn.00654d58
mov edx, dword [ebp - 0x28c]
mov eax, dword [0x66f7d4]
add eax, 0xc
call fcn.004038bc
jmp 0x4ec08b
mov byte [0x672e78], 0xff
cmp dword [ebp - 4], 0xe60
jne 0x4ec09d
mov eax, ebx
call fcn.0059aa0c
jmp 0x4ec0a4
mov eax, ebx
call fcn.0059b998
cmp byte [0x672e78], 0xff
je 0x4ec0c0
mov eax, dword [0x66f7d4]
add eax, 0xc
mov edx, dword [ebp - 0xa0]
call fcn.004038bc
and dword [0x672e70], 0xffffbfff
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.0059afac
jmp case.0x4ea351.5306
mov eax, dword [0x66fb2c]
mov al, byte [eax]
xor al, 1
mov edx, dword [0x66fb2c]
mov byte [edx], al
mov eax, dword [ebx + 0x174]
call fcn.00462240
call fcn.00506ba4
mov eax, 0x9d8
call fcn.004ab0f8
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005c356c
mov eax, dword [ebp + 8]
push eax
call fcn.004e3128
pop ecx
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005c35d0
jmp case.0x4ea351.5306
push ebp
call fcn.004e6bb4
pop ecx
jmp case.0x4ea351.5306
push ebp
call fcn.004e6c60
pop ecx
jmp case.0x4ea351.5306
push ebp
call fcn.004e6ce0
pop ecx
jmp case.0x4ea351.5306
push ebp
call fcn.004e6d60
pop ecx
jmp case.0x4ea351.5306
push ebp
call fcn.004e6db0
pop ecx
jmp case.0x4ea351.5306
push ebp
call fcn.004e6e50
pop ecx
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005d9044
jmp case.0x4ea351.5306
mov dl, 1
mov eax, ebx
call fcn.005cb1ec
mov eax, 0x9ec
call fcn.004ab0f8
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005cb3ac
mov eax, 0xa00
call fcn.004ab0f8
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005cb56c
mov eax, 0x9ec
call fcn.004ab0f8
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005cb640
mov eax, 0xa00
call fcn.004ab0f8
jmp case.0x4ea351.5306
lea edx, [ebx + 0x300]
mov eax, ebx
call fcn.005c2480
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.005cc638
jmp case.0x4ea351.5306
lea edx, [ebx + 0x300]
mov eax, ebx
call fcn.005c2480
mov eax, ebx
call fcn.005c5a40
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.005cc638
mov eax, dword [ebp - 0x114]
call fcn.00548150
jmp case.0x4ea351.5306
lea edx, [ebx + 0x300]
mov eax, ebx
call fcn.005c2480
mov byte [ebp - 0x3a], 1
cmp dword [ebp - 4], 0xf5a
jne 0x4ec273
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.005cc650
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005d6aa8
mov dword [ebp - 0x118], eax
lea edx, [ebp - 0x288]
mov eax, dword [ebp - 0x118]
call fcn.00547e28
lea edx, [ebp - 0x288]
mov cl, 1
mov eax, ebx
call fcn.005c4aa8
test al, al
je 0x4ec2da
mov eax, dword [0x66fb18]
mov eax, dword [eax]
call fcn.0061feb4
jmp 0x4ec303
mov dword [ebp - 0xac], 1
cmp dword [ebp - 4], 0xf5f
jne 0x4ec2f4
sub dword [ebp - 0xac], 2
lea ecx, [ebp - 0xac]
mov dl, 0x16
mov eax, ebx
call fcn.005cc628
mov eax, dword [ebp - 0x118]
call fcn.00548150
jmp case.0x4ea351.5306
mov byte [ebp - 0x39], 0
mov eax, dword [ebp - 4]
cmp eax, 0xfa0
jg 0x4ec336
je 0x4ec35c
sub eax, 0xf64
je 0x4ec344
sub eax, 0x14
je 0x4ec34d
sub eax, 0x14
je 0x4ec356
jmp 0x4ec36e
sub eax, 0xfb4
je 0x4ec362
sub eax, 5
je 0x4ec368
jmp 0x4ec36e
mov byte [ebp - 0x17c], 0
jmp 0x4ec372
mov byte [ebp - 0x17c], 1
jmp 0x4ec372
mov byte [ebp - 0x39], 1
jmp 0x4ec372
mov byte [ebp - 0x39], 2
jmp 0x4ec372
mov byte [ebp - 0x39], 3
jmp 0x4ec372
mov byte [ebp - 0x39], 4
jmp 0x4ec372
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.005cc878
jmp case.0x4ea351.5306
mov eax, dword [0x66f460]
mov eax, dword [eax]
mov edx, 0xfc8
call fcn.0060e690
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005d8a64
jmp case.0x4ea351.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 0x4ec3dc
adc eax, 0
lea ecx, [ebp - 0x324]
mov edx, dword [ebx + 0x210]
call fcn.0064d54c
lea edx, [ebp - 0x324]
mov eax, ebx
call fcn.00561de0
jmp case.0x4ea351.5306
push ebp
mov eax, dword [ebp - 4]
call fcn.004e860c
pop ecx
jmp case.0x4ea351.5306
mov eax, dword [0x66f04c]
cmp dword [eax], 0
jne 0x4ec42e
xor ecx, ecx
mov dl, 1
mov eax, dword [0x4fc6b8]
call fcn.004fcf7c
mov edx, dword [0x66f04c]
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.0063f83c
mov eax, dword [0x66f04c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x120]
sub edx, dword [eax + 0x30]
mov eax, dword [0x66f04c]
mov eax, dword [eax]
mov dword [eax + 0x1a4], edx
lea eax, [ebp - 0x334]
call fcn.00620248
mov eax, dword [ebp - 0x328]
mov edx, dword [0x66f04c]
mov edx, dword [edx]
sub eax, dword [edx + 0x34]
push eax
call fcn.00620344
pop edx
sub edx, eax
sub edx, 5
mov eax, dword [ebp - 0x11c]
call fcn.00653538
mov edx, dword [0x66f04c]
mov edx, dword [edx]
mov dword [edx + 0x1a8], eax
mov eax, dword [0x66f04c]
mov eax, dword [eax]
mov ecx, dword [eax + 0x1a8]
mov eax, dword [0x66f04c]
mov eax, dword [eax]
mov edx, dword [eax + 0x1a4]
mov eax, dword [0x66f04c]
mov eax, dword [eax]
call fcn.0063f61c
mov eax, dword [0x66f458]
mov byte [eax], 1
mov eax, dword [0x66f04c]
mov eax, dword [eax]
call fcn.0063c334
mov eax, dword [0x66f458]
mov byte [eax], 0
mov eax, dword [0x66f04c]
mov eax, dword [eax]
mov eax, dword [eax + 0x1a0]
call fcn.0060ce60
mov byte [ebx + 0x1c5], 5
mov eax, ebx
mov bx, 0xffe9
call fcn.00403254
jmp case.0x4ea351.5306
mov al, byte [ebp - 4]
sub al, 0x86
mov edx, dword [0x66e8a8]
mov byte [edx + 0x6e], al
mov eax, dword [0x66f04c]
mov eax, dword [eax]
call fcn.0063fe74
jmp case.0x4ea351.5306
call fcn.004d04b0
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005e5624
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005e56ac
jmp case.0x4ea351.5306
mov eax, dword [0x66f694]
mov eax, dword [eax]
xor edx, edx
call fcn.00507e08
jmp case.0x4ea351.5306
push ebp
call fcn.004e8e94
pop ecx
jmp case.0x4ea351.5306
mov eax, dword [0x66f694]
mov eax, dword [eax]
call fcn.00507e8c
jmp case.0x4ea351.5306
mov eax, dword [0x66f694]
mov eax, dword [eax]
call fcn.005080f4
jmp case.0x4ea351.5306
mov eax, dword [0x66e8a8]
and dword [eax + 4], 0xfffdffff
cmp dword [ebp - 4], 0x11b6
jne 0x4ec5b9
mov eax, dword [0x66e8a8]
or dword [eax + 4], 0x20000
mov eax, dword [0x66e960]
mov eax, dword [eax]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl 0x4ec5f4
mov eax, dword [0x66e960]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + esi*4]
cmp dword [eax + 0x838], 0
jl 0x4ec5ee
mov edx, dword [eax + 0x838]
inc edx
neg edx
mov dword [eax + 0x838], edx
dec esi
cmp esi, 0xffffffff
jne 0x4ec5c9
call fcn.00506b9c
jmp case.0x4ea351.5306
mov eax, dword [0x66f694]
mov eax, dword [eax]
call fcn.0050828c
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005e2cb0
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
push eax
push 0x4fad30
lea ecx, [ebp - 0x324]
xor edx, edx
mov eax, 0x80000000
call fcn.0064d54c
lea eax, [ebp - 0x324]
push eax
mov eax, ebx
call fcn.005e512c
pop edx
call fcn.004a0fbc
jmp case.0x4ea351.5306
mov ecx, dword [ebp - 4]
mov dl, 1
mov eax, dword [0x4bd54c]
call fcn.004be018
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x124]
call fcn.0063c388
mov eax, dword [ebp - 0x124]
call fcn.004028c0
jmp case.0x4ea351.5306
mov eax, dword [ebx + 0x5a0]
cmp dword [eax + 0x18], 1
jle 0x4ec6a3
mov eax, dword [0x66f058]
mov eax, dword [eax]
mov cl, 0x2a
mov dl, 3
call fcn.006200d0
cmp ax, 6
jne case.0x4ea351.5306
mov eax, dword [ebx + 0x5a0]
mov edi, dword [eax + 0x18]
dec edi
test edi, edi
jl case.0x4ea351.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.005e6020
inc esi
dec edi
jne 0x4ec6b8
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005e61bc
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005e6250
jmp case.0x4ea351.5306
mov eax, dword [ebx + 0x5c0]
call fcn.0064e930
mov dword [ebx + 0x5c4], 0xffffffff
call fcn.00506b9c
jmp case.0x4ea351.5306
mov eax, dword [ebx + 0x5a0]
call fcn.004e7150
jmp case.0x4ea351.5306
call fcn.00536b48
mov edx, dword [ebx + 0x5a0]
mov dword [eax + 0x30], edx
push ebp
mov eax, dword [ebx + 0x5a0]
call fcn.004e72f4
pop ecx
call fcn.00536b48
xor edx, edx
mov dword [eax + 0x30], edx
jmp case.0x4ea351.5306
mov dl, 0x22
mov eax, ebx
call fcn.005cc618
jmp case.0x4ea351.5306
mov dl, 0x24
mov eax, ebx
call fcn.005cc618
jmp case.0x4ea351.5306
mov eax, dword [ebx + 0x5a0]
call fcn.004e74dc
jmp case.0x4ea351.5306
xor eax, eax
call fcn.004e7388
jmp case.0x4ea351.5306
mov al, 1
call fcn.004e7388
jmp case.0x4ea351.5306
call fcn.004e7360
jmp case.0x4ea351.5306
call fcn.004e7470
jmp case.0x4ea351.5306
mov eax, dword [ebx + 0x5b0]
call fcn.004e7150
jmp case.0x4ea351.5306
push ebp
mov eax, dword [ebx + 0x5b0]
call fcn.004e72f4
pop ecx
jmp case.0x4ea351.5306
mov dl, 0x26
mov eax, ebx
call fcn.005cc618
jmp case.0x4ea351.5306
mov eax, dword [ebx + 0x5b0]
call fcn.0064e7c0
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
call fcn.004e7150
mov byte [ebx + 0x7d8], 0x14
mov dl, 0x26
mov eax, ebx
call fcn.005cc618
mov ecx, dword [ebx + 0x300]
mov dl, 0x10
mov eax, ebx
call fcn.005cc628
mov eax, dword [ebx + 0x4ac]
call fcn.0064ea3c
or byte [eax + 0x34], 4
mov eax, dword [ebp - 0x74]
call fcn.0064edac
jmp case.0x4ea351.5306
call fcn.004e7560
jmp case.0x4ea351.5306
call fcn.004e7604
jmp case.0x4ea351.5306
mov ecx, dword [ebx + 0x59c]
mov dl, 0x2a
mov eax, ebx
call fcn.005cc628
jmp case.0x4ea351.5306
mov eax, dword [ebx + 0x59c]
call fcn.004e7150
jmp case.0x4ea351.5306
push ebp
mov eax, dword [ebx + 0x59c]
call fcn.004e72f4
pop ecx
jmp case.0x4ea351.5306
mov eax, dword [ebx + 0x59c]
call fcn.004e74dc
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005c208c
test al, al
je 0x4ec897
mov edx, dword [ebx + 0x300]
xor ecx, ecx
mov eax, ebx
call fcn.005eb4e8
jmp case.0x4ea351.5306
lea edx, [ebp - 0x19c]
mov eax, ebx
call fcn.005c5ba8
lea ecx, [ebp - 0x19c]
xor edx, edx
mov eax, ebx
call fcn.005eb4e8
jmp case.0x4ea351.5306
xor eax, eax
call fcn.004e8f68
jmp case.0x4ea351.5306
mov al, 1
call fcn.004e90c8
jmp case.0x4ea351.5306
mov al, 2
call fcn.004e90c8
jmp case.0x4ea351.5306
mov ecx, dword [ebx + 0x5ac]
mov dl, 0x3c
mov eax, ebx
call fcn.005cc628
jmp case.0x4ea351.5306
mov byte [ebp - 0x81], 2
cmp dword [ebp - 4], 0x13c9
je 0x4ec912
cmp dword [ebp - 4], 0x13cb
je 0x4ec912
cmp dword [ebp - 4], 0x13cc
jne 0x4ec919
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.004e91b0
pop ecx
cmp dword [ebp - 0x50], 0
je case.0x4ea351.5306
mov eax, dword [ebp - 4]
sub eax, 0x13cb
je 0x4ec94f
dec eax
je 0x4ec957
dec eax
je 0x4ec94f
dec eax
je 0x4ec957
jmp 0x4ec95d
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x50], eax
jmp 0x4ec95d
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 4], 0x13c9
je 0x4ec96f
cmp dword [ebp - 4], 0x13ca
jne 0x4ec984
mov edx, dword [ebx + 0x258]
mov eax, ebx
call fcn.00563a8c
cmp al, byte [ebp - 0x81]
je 0x4ec9ab
cmp dword [ebp - 4], 0x13c9
je 0x4ec9e6
cmp dword [ebp - 4], 0x13ca
je 0x4ec9e6
mov edx, dword [ebx + 0x258]
mov eax, ebx
call fcn.00563a8c
cmp al, byte [ebp - 0x81]
je 0x4ec9e6
mov eax, dword [ebp - 0x50]
mov edx, dword [eax + 0x44]
mov eax, ebx
call fcn.005e5ac8
mov dword [ebp - 0x128], eax
push 0x7fffffff
mov al, byte [0x4ed470]
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.005c0320
jmp case.0x4ea351.5306
mov edx, dword [ebp - 0x50]
mov eax, ebx
call fcn.005e5ac8
mov dword [ebp - 0x12c], eax
push 0x7fffffff
mov al, byte [0x4ed470]
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.005c0320
mov dl, 1
mov eax, ebx
call fcn.005bfa4c
jmp case.0x4ea351.5306
mov al, 1
call fcn.004e8f68
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005fb938
mov eax, dword [ebx + 0x5a4]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax]
mov edx, dword [ebx + 0x258]
mov eax, ebx
call fcn.00563a8c
cmp al, 1
jne 0x4eca59
mov edi, dword [edi + 0x44]
mov edx, edi
mov eax, ebx
call fcn.005e5ac8
mov dword [ebp - 0x130], eax
push 0x7fffffff
mov al, byte [0x4ed474]
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.005c0320
mov dl, 1
mov eax, ebx
call fcn.005bfa4c
jmp case.0x4ea351.5306
mov eax, ebx
call fcn.005fb938
mov eax, dword [ebx + 0x5a8]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax]
mov edx, dword [ebx + 0x258]
mov eax, ebx
call fcn.00563a8c
cmp al, 2
jne 0x4ecabf
mov edi, dword [edi + 0x44]
mov edx, edi
mov eax, ebx
call fcn.005e5ac8
mov dword [ebp - 0x134], eax
push 0x7fffffff
mov al, byte [0x4ed474]
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.005c0320
mov dl, 1
mov eax, ebx
call fcn.005bfa4c
jmp case.0x4ea351.5306
call fcn.0064e78c
mov dword [ebp - 0x78], eax
cmp dword [ebp - 4], 0x13d9
je 0x4ecb26
cmp dword [ebp - 4], 0x13de
je 0x4ecb26
cmp dword [ebp - 4], 0x13c8
je 0x4ecb26
xor eax, eax
jmp 0x4ecb28
mov al, 1
mov byte [ebp - 0x82], al
mov eax, dword [ebx + 0x5ac]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl 0x4ecba7
mov eax, dword [ebx + 0x5ac]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax + esi*4]
cmp dword [ebp - 4], 0x13c6
je 0x4ecb5d
mov al, byte [edi + 6]
cmp al, byte [ebp - 0x82]
jne 0x4ecba1
cmp dword [ebp - 4], 0x13d8
je 0x4ecb8a
cmp dword [ebp - 4], 0x13d9
je 0x4ecb8a
cmp dword [ebp - 4], 0x13c6
je 0x4ecb8a
cmp dword [ebp - 4], 0x13c7
je 0x4ecb8a
cmp dword [ebp - 4], 0x13c8
jne 0x4ecb97
mov edx, dword [edi + 0x44]
mov eax, dword [ebp - 0x78]
call fcn.0064e9dc
jmp 0x4ecba1
mov edx, edi
mov eax, dword [ebp - 0x78]
call fcn.0064e9dc
dec esi
cmp esi, 0xffffffff
jne 0x4ecb3d
mov eax, dword [ebp - 0x78]
call fcn.004e7150
mov eax, dword [ebp - 0x78]
call fcn.0064edac
cmp dword [ebp - 4], 0x13c6
je 0x4ecbd6
cmp dword [ebp - 4], 0x13c7
je 0x4ecbd6
cmp dword [ebp - 4], 0x13c8
jne case.0x4ea351.5306
mov ecx, dword [ebx + 0x300]
mov dl, 0x10
mov eax, ebx
call fcn.005cc628
jmp case.0x4ea351.5306
call fcn.004e76e4
jmp case.0x4ea351.5306
call fcn.0048473c
jmp case.0x4ea351.5306
call fcn.004e77a0
jmp case.0x4ea351.5306
push ebp
call fcn.004e790c
pop ecx
jmp case.0x4ea351.5306
call fcn.004e7a68
jmp case.0x4ea351.5306
push ebp
call fcn.004e7b0c
pop ecx
jmp case.0x4ea351.5306
push ebp
call fcn.004e7c88
pop ecx
jmp case.0x4ea351.5306
call fcn.004d1ad8
jmp case.0x4ea351.5306
mov eax, dword [0x66fc50]
cmp byte [eax + 0x1a], 0
jne 0x4ecc5b
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x1964
call fcn.004f3be0
mov eax, dword [0x66fc50]
test byte [eax + 0x23], 4
je 0x4ecc78
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x191e
call fcn.004f3be0
jmp 0x4ecc7f
mov al, 0xa
call fcn.00513f84
mov eax, dword [0x66ffe0]
mov eax, dword [eax]
mov ebx, dword [eax + 0x14c]
lea edx, [ebp - 0x290]
mov eax, 0x4ed524
call fcn.00654d58
mov ecx, dword [ebp - 0x290]
mov edx, dword [0x66f7d4]
mov edx, dword [edx + 4]
lea eax, [ebp - 0x28c]
call fcn.00403b14
mov edx, dword [ebp - 0x28c]
mov eax, dword [0x66edcc]
mov eax, dword [eax]
mov eax, dword [eax + 4]
call fcn.00511030
mov dword [ebx + 0x130], eax
mov edx, dword [ebx + 0x130]
mov eax, ebx
call fcn.00613f88
xor edx, edx
mov eax, dword [ebx + 0x148]
call dword [ebx + 0x144]
mov eax, ebx
mov bx, 0xffe9
call fcn.00403254
mov eax, dword [0x66f984]
mov eax, dword [eax]
call fcn.0061feb4
jmp case.0x4ea351.5306
xor edx, edx
xor eax, eax
call fcn.004e94d0
jmp case.0x4ea351.5306
call fcn.004e96b0
jmp case.0x4ea351.5306
call fcn.004e9890
jmp case.0x4ea351.5306
mov eax, dword [0x66f300]
mov eax, dword [eax]
call fcn.004ae1c0
jmp case.0x4ea351.5306
mov eax, dword [0x66f300]
mov eax, dword [eax]
call fcn.004ae25c
jmp case.0x4ea351.5306
mov eax, dword [0x66e8a8]
and dword [eax + 4], 0xfffbffff
cmp dword [ebp - 4], 0x14c3
jne 0x4ecd6d
mov eax, dword [0x66e8a8]
or dword [eax + 4], 0x40000
mov eax, dword [0x66e960]
mov eax, dword [eax]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl 0x4ecdaf
mov eax, dword [0x66e960]
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 0x4ecda9
mov edx, dword [eax + 0x840]
inc edx
neg edx
mov dword [eax + 0x840], edx
dec esi
cmp esi, 0xffffffff
jne 0x4ecd7d
call fcn.00506b9c
jmp case.0x4ea351.5306
mov eax, dword [0x66f300]
mov eax, dword [eax]
xor edx, edx
call fcn.004ae110
jmp case.0x4ea351.5306
xor edx, edx
mov al, 1
call fcn.004e94d0
jmp case.0x4ea351.5306
mov dl, 1
mov al, 1
call fcn.004e94d0
jmp case.0x4ea351.5306
mov eax, dword [ebx + 0x5b4]
call fcn.004e7150
jmp case.0x4ea351.5306
push ebp
mov eax, dword [ebx + 0x5b4]
call fcn.004e72f4
pop ecx
jmp case.0x4ea351.5306
mov ecx, dword [ebx + 0x5b4]
mov dl, 0x2a
mov eax, ebx
call fcn.005cc628
jmp case.0x4ea351.5306
mov eax, dword [ebx + 0x5b4]
call fcn.004e74dc
jmp case.0x4ea351.5306
mov eax, dword [0x66ebb0]
test byte [eax + 2], 1
je 0x4ece49
mov eax, dword [0x66ebb0]
and dword [eax], 0xfffeffff
jmp case.0x4ea351.5306
mov eax, dword [0x66ebb0]
or dword [eax], 0x10000
mov eax, dword [0x66e960]
mov eax, dword [eax]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl 0x4ece7c
mov eax, dword [0x66e960]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + esi*4]
call fcn.005fafbc
dec esi
cmp esi, 0xffffffff
jne 0x4ece64
mov eax, dword [0x66fee8]
mov eax, dword [eax]
call fcn.0061feb4
jmp case.0x4ea351.5306
mov eax, dword [0x66ebb0]
test byte [eax + 2], 2
je 0x4ecea5
mov eax, dword [0x66ebb0]
and dword [eax], 0xfffdffff
jmp 0x4eceb0
mov eax, dword [0x66ebb0]
or dword [eax], 0x20000
mov eax, dword [0x66e960]
mov eax, dword [eax]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl case.0x4ea351.5306
mov eax, dword [0x66e960]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + esi*4]
call fcn.005fafbc
dec esi
cmp esi, 0xffffffff
jne 0x4ecec4
jmp case.0x4ea351.5306
mov eax, dword [0x66ebb0]
test byte [eax + 2], 4
je 0x4ecefc
mov eax, dword [0x66ebb0]
and dword [eax], 0xfffbffff
jmp case.0x4ea351.5306
mov eax, dword [0x66ebb0]
or dword [eax], 0x40000
jmp case.0x4ea351.5306
mov eax, dword [0x66ebb0]
test byte [eax + 2], 8
je 0x4ecf27
mov eax, dword [0x66ebb0]
and dword [eax], 0xfff7ffff
jmp case.0x4ea351.5306
mov eax, dword [0x66ebb0]
or dword [eax], 0x80000
jmp case.0x4ea351.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 0x4ecfff
mov edx, esi
mov eax, ebx
call fcn.005fb958
test al, al
je 0x4ecff5
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 0x4ecf8d
cmp dword [ebp - 4], 0x16b5
je 0x4ecf8d
xor edx, edx
jmp 0x4ecf8f
mov dl, 1
cmp al, dl
jne 0x4ecff5
cmp dword [ebp - 4], 0x16b4
je 0x4ecfb6
cmp dword [ebp - 4], 0x16b5
je 0x4ecfb6
mov eax, dword [ebx + 0x5b8]
mov edx, esi
call fcn.0064eb58
test al, al
je 0x4ecff5
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.00552ec0
test al, al
je 0x4ecff5
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 0x4ecf57
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.005c33a8
mov dl, 0xc
mov eax, ebx
call fcn.00564fb8
mov eax, dword [ebx + 0x13c]
mov ecx, dword [eax + 0x18]
mov edx, dword [ebp - 0x1c4]
mov eax, ebx
call fcn.005bca54
lea ecx, [ebp - 0x324]
mov edx, dword [ebx + 0x258]
mov eax, ebx
call fcn.005fbb34
cmp dword [ebp - 0x324], 0
jge 0x4ed075
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.005bf388
mov eax, ebx
call fcn.00562888
lea edx, [ebp - 0x1cc]
mov cl, byte [0x4ed470]
mov eax, ebx
call fcn.005c0150
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.005be9c4
mov eax, ebx
call fcn.00565004
mov eax, dword [ebx + 0x174]
call fcn.00462240
call fcn.00506b9c
jmp case.0x4ea351.5306
mov eax, dword [ebx + 0x5e0]
cmp dword [eax + 0x18], 0
jne 0x4ed0dc
mov dl, 0x51
mov eax, ebx
call fcn.005cc618
jmp 0x4ed0eb
mov ecx, dword [ebx + 0x5e0]
mov dl, 0x51
mov eax, ebx
call fcn.005cc628
mov eax, dword [ebx + 0x174]
mov bx, 0xffd9
call fcn.00403254
jmp case.0x4ea351.5306
mov dl, 0x51
mov eax, ebx
call fcn.005cc618
mov eax, dword [ebx + 0x174]
mov bx, 0xffd9
call fcn.00403254
jmp case.0x4ea351.5306
call fcn.0064e78c
mov dword [ebp - 0x7c], eax
mov eax, dword [0x66fe60]
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 0x4ed17b
inc edi
xor esi, esi
mov edx, esi
mov eax, dword [ebp - 0x138]
call fcn.00637eb0
test al, al
je 0x4ed177
mov eax, dword [ebx + 0x5e0]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax + esi*4]
mov eax, dword [ebp - 0x7c]
call fcn.0064e9dc
inc esi
dec edi
jne 0x4ed152
mov ecx, dword [ebp - 0x7c]
mov dl, 0x51
mov eax, ebx
call fcn.005cc628
mov eax, dword [ebp - 0x7c]
call fcn.0064edac
jmp case.0x4ea351.5306
cmp dword [ebp - 4], 0x14eb
jne 0x4ed1b6
cmp dword [ebx + 0x81c], 0
je 0x4ed1b6
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x1c20
call fcn.004f3be0
mov eax, dword [ebx + 0x300]
call fcn.00547ebc
mov dword [ebp - 0x60], eax
mov dl, 0x12
mov eax, ebx
call fcn.00564f50
mov eax, dword [0x66fe60]
mov eax, dword [eax]
mov eax, dword [eax + 0x130]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x13c]
call fcn.00637dac
mov edx, eax
mov eax, dword [ebx + 0x300]
call fcn.00547cf4
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 0x4ed26b
inc edi
xor esi, esi
mov edx, esi
mov eax, dword [ebp - 0x13c]
call fcn.00637eb0
test al, al
je 0x4ed267
mov eax, dword [ebx + 0x5e0]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax + esi*4]
mov eax, ebx
call fcn.005e5ac8
push eax
mov eax, dword [ebx + 0x300]
mov edx, dword [ebp - 0xb4]
call fcn.00547d14
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 0x4ed21b
mov eax, dword [ebx + 0x300]
call fcn.00547f54
mov eax, ebx
call fcn.00565004
mov eax, ebx
call fcn.005c33a8
mov eax, dword [ebp - 4]
sub eax, 0x14e9
je 0x4ed293
dec eax
je 0x4ed2b7
jmp 0x4ed2e2
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0xc94
call fcn.004f3be0
mov eax, dword [ebx + 0x174]
mov bx, 0xffd9
call fcn.00403254
jmp 0x4ed351
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0xd0c
call fcn.004f3be0
mov eax, dword [ebx + 0x300]
mov edx, dword [ebp - 0x60]
mov ecx, dword [eax]
call dword [ecx]
mov eax, ebx
call fcn.005c33a8
call fcn.00506b9c
jmp 0x4ed351
mov cl, 0x28
mov dl, 0xe
mov eax, ebx
call fcn.00564f9c
mov eax, dword [ebx + 0x300]
mov eax, dword [eax + 4]
mov dword [ebp - 0x140], eax
push 0x7fffffff
mov al, byte [0x4ed470]
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.005c0320
mov eax, ebx
call fcn.00565004
mov dl, 1
mov eax, ebx
call fcn.005bfa4c
mov eax, ebx
call fcn.00565004
mov eax, ebx
call fcn.005beff0
mov eax, dword [ebx + 0x174]
mov bx, 0xffd9
call fcn.00403254
call fcn.00506b9c
mov eax, dword [ebp - 0x60]
call fcn.00548150
mov eax, dword [ebp + 8]
cmp byte [eax - 5], 0
je 0x4ed3fa
mov eax, dword [0x66eec8]
test byte [eax + 1], 8
je 0x4ed3fa
call fcn.004e0984
mov ebx, eax
mov eax, ebx
call fcn.005c208c
test al, al
jne 0x4ed3fa
cmp dword [ebx + 0x258], 0
jle 0x4ed3fa
cmp dword [ebx + 0x25c], 0
jne 0x4ed3fa
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 0x4ed3fa
lea ecx, [ebp - 0x288]
mov edx, dword [ebx + 0x258]
mov eax, ebx
call fcn.005efb9c
mov eax, dword [ebp - 0x288]
cmp eax, dword [ebx + 0x258]
jne 0x4ed3fa
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 0x4ed3fa
lea ecx, [ebx + 0x258]
mov dl, 0x4c
mov eax, ebx
call fcn.005cc628
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ed468
lea eax, [ebp - 0x294]
call fcn.00403274
lea eax, [ebp - 0x290]
mov edx, 2
call fcn.00403898
lea eax, [ebp - 0x248]
mov edx, dword [0x543790]
call fcn.00403f00
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