Function at 0x4e1da4
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffc7c
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x2dc], edx
mov dword [ebp - 0x2e0], edx
mov dword [ebp - 0x2e4], edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x9c], edx
mov dword [ebp - 4], eax
lea eax, [ebp - 0x238]
mov edx, dword [0x543d24]
call fcn.00403e48
xor eax, eax
push ebp
push 0x4e59a0
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
mov byte [eax - 5], 0
mov ax, word [0x4e59b0]
mov word [ebp - 0x3a], ax
call fcn.004d66ac
mov ebx, eax
call fcn.004d66ac
test eax, eax
je 0x4e1e5d
mov eax, ebx
call fcn.005fdbac
cmp dword [ebp - 4], 0xf00
je 0x4e1e5d
cmp dword [ebp - 4], 0xf14
je 0x4e1e5d
cmp dword [ebp - 4], 0xf28
je 0x4e1e5d
cmp dword [ebp - 4], 0xf3c
je 0x4e1e5d
mov eax, ebx
call fcn.005d9c14
mov eax, dword [ebp - 4]
cmp eax, 0x1194
jg 0x4e2222
je 0x4e4972
cmp eax, 0xe58
jg 0x4e2055
je 0x4e434c
cmp eax, 0xd9e
jg 0x4e1f6f
je 0x4e380b
cmp eax, 0xd0c
jg 0x4e1f09
je 0x4e335a
cmp eax, 0xca8
jg 0x4e1ede
je 0x4e2f1f
add eax, 0xfffff448
sub eax, 0x1c
jb 0x4e25de
add eax, 0xffffffcc
sub eax, 4
jb 0x4e2a0e
sub eax, 0x74
je 0x4e2aee
sub eax, 0x14
je 0x4e2ce5
jmp case.0x4e2500.5306
sub eax, 0xcbc
je 0x4e3036
sub eax, 0x14
je 0x4e3153
sub eax, 0x14
je 0x4e3153
sub eax, 0x14
je 0x4e3153
jmp case.0x4e2500.5306
cmp eax, 0xd70
jg 0x4e1f44
je 0x4e3594
sub eax, 0xd20
je 0x4e3430
add eax, 0xffffffec
sub eax, 5
jb 0x4e3430
sub eax, 0xf
je 0x4e3471
sub eax, 0x14
je 0x4e34be
jmp case.0x4e2500.5306
sub eax, 0xd75
je 0x4e36b1
sub eax, 0xf
je 0x4e372c
sub eax, 0x14
je 0x4e3769
sub eax, 5
je 0x4e3781
jmp case.0x4e2500.5306
cmp eax, 0xe0b
jg 0x4e1fe0
je 0x4e41cd
cmp eax, 0xdd4
jg 0x4e1fb2
je 0x4e3c33
sub eax, 0xdac
je 0x4e38ef
sub eax, 0xa
je 0x4e3843
dec eax
je 0x4e3868
sub eax, 9
je 0x4e3c33
jmp case.0x4e2500.5306
sub eax, 0xde8
je 0x4e3c33
add eax, 0xfffffff6
sub eax, 2
jb 0x4e3fbc
sub eax, 8
je 0x4e3fe7
sub eax, 0xa
je 0x4e3ff1
jmp case.0x4e2500.5306
cmp eax, 0xe38
jge 0x4e2012
sub eax, 0xe10
je 0x4e41d9
sub eax, 5
je 0x4e41f0
sub eax, 0xf
je 0x4e423d
sub eax, 0xa
je 0x4e4247
jmp case.0x4e2500.5306
cmp eax, 0xe55
jg 0x4e203e
je 0x4e4275
add eax, 0xfffff1c8
sub eax, 2
jb 0x4e4251
add eax, 0xfffffffd
sub eax, 5
jb 0x4e4260
jmp case.0x4e2500.5306
sub eax, 0xe56
je 0x4e42b8
dec eax
je 0x4e4302
jmp case.0x4e2500.5306
cmp eax, 0xf28
jg 0x4e2135
je 0x4e45e8
cmp eax, 0xea1
jg 0x4e20d2
je 0x4e455a
cmp eax, 0xe60
jg 0x4e20a7
je 0x4e442c
sub eax, 0xe5b
je 0x4e4396
dec eax
je 0x4e43cc
sub eax, 2
je 0x4e43ff
dec eax
je 0x4e4410
jmp case.0x4e2500.5306
sub eax, 0xe62
je 0x4e441e
sub eax, 0x12
je 0x4e44ee
sub eax, 0x14
je 0x4e44fa
sub eax, 0x14
je 0x4e4544
jmp case.0x4e2500.5306
cmp eax, 0xedd
jg 0x4e210a
je 0x4e4596
sub eax, 0xeb0
je 0x4e4566
sub eax, 0x14
je 0x4e4572
sub eax, 5
je 0x4e457e
sub eax, 0xf
je 0x4e458a
jmp case.0x4e2500.5306
sub eax, 0xee2
je 0x4e45a2
sub eax, 0xa
je 0x4e45ae
sub eax, 0x14
je 0x4e45ba
sub eax, 0x14
je 0x4e45d2
jmp case.0x4e2500.5306
cmp eax, 0xfb4
jg 0x4e21b9
je 0x4e4751
cmp eax, 0xf5f
jge 0x4e2177
sub eax, 0xf3c
je 0x4e45fe
sub eax, 0x14
je 0x4e4614
sub eax, 5
je 0x4e4645
add eax, 0xfffffffb
sub eax, 2
jb 0x4e468e
jmp case.0x4e2500.5306
cmp eax, 0xf78
jg 0x4e21a0
je 0x4e4751
add eax, 0xfffff0a1
sub eax, 2
jb 0x4e46d6
sub eax, 3
je 0x4e4751
jmp case.0x4e2500.5306
sub eax, 0xf8c
je 0x4e4751
sub eax, 0x14
je 0x4e4751
jmp case.0x4e2500.5306
cmp eax, 0x107c
jg 0x4e21f1
je 0x4e4809
sub eax, 0xfb9
je 0x4e4751
sub eax, 5
je 0x4e4751
sub eax, 0xa
je 0x4e47e3
sub eax, 0x50
je 0x4e47fd
jmp case.0x4e2500.5306
add eax, 0xffffef7f
sub eax, 2
jb 0x4e484b
je 0x4e485a
add eax, 0xfffffffd
sub eax, 0xd
jb 0x4e494f
add eax, 0xffffffef
sub eax, 0x29
jb 0x4e3c33
jmp case.0x4e2500.5306
cmp eax, 0x13c6
jge 0x4e23f5
cmp eax, 0x11d5
jg 0x4e2323
je 0x4e4b98
add eax, 0xffffee62
cmp eax, 0x33
ja case.0x4e2500.5306
jmp dword [eax*4 + 0x4e2253]
cmp eax, 0x132e
jg 0x4e2393
je 0x4e4c8f
cmp eax, 0x1220
jg 0x4e2366
je 0x4e4bd4
sub eax, 0x11f8
je 0x4e4ba8
dec eax
je 0x4e4bb4
sub eax, 0x13
je 0x4e4bc0
sub eax, 0xa
je 0x4e4bca
jmp case.0x4e2500.5306
sub eax, 0x1225
je 0x4e4be4
sub eax, 5
je 0x4e4bf6
sub eax, 5
je 0x4e4c04
sub eax, 0xf5
je 0x4e4c67
jmp case.0x4e2500.5306
cmp eax, 0x1388
jg 0x4e23cb
je 0x4e4cc1
sub eax, 0x1333
je 0x4e4c9f
sub eax, 5
je 0x4e4c7b
sub eax, 5
je 0x4e4cb1
sub eax, 5
je 0x4e4c71
jmp case.0x4e2500.5306
sub eax, 0x13ba
je 0x4e4d01
dec eax
je 0x4e4d0d
dec eax
je 0x4e4d19
add eax, 0xfffffffb
sub eax, 3
jb 0x4e4d25
jmp case.0x4e2500.5306
cmp eax, 0x14b7
jg 0x4e24e1
je 0x4e5232
cmp eax, 0x1450
jg 0x4e247d
je 0x4e510b
cmp eax, 0x13d4
jg 0x4e244c
je 0x4e4f48
add eax, 0xffffec3a
sub eax, 3
jb 0x4e5005
sub eax, 6
jb 0x4e4d39
sub eax, 3
je 0x4e4e7f
dec eax
je 0x4e4e8b
jmp case.0x4e2500.5306
add eax, 0xffffec28
sub eax, 2
jb 0x4e5005
add eax, 0xfffffffd
sub eax, 2
jb 0x4e5005
sub eax, 0xd
je 0x4e50f7
sub eax, 5
je 0x4e5101
jmp case.0x4e2500.5306
cmp eax, 0x145f
jg 0x4e24b3
je 0x4e5143
sub eax, 0x1455
je 0x4e5115
sub eax, 5
je 0x4e5121
sub eax, 2
je 0x4e512b
dec eax
je 0x4e5137
jmp case.0x4e2500.5306
sub eax, 0x1482
je 0x4e442c
sub eax, 0xa
je 0x4e514d
sub eax, 0x23
je 0x4e5218
add eax, 0xfffffffb
sub eax, 2
jb 0x4e5228
jmp case.0x4e2500.5306
cmp eax, 0x14d7
jg 0x4e257f
je 0x4e5333
add eax, 0xffffeb47
cmp eax, 0x1d
ja case.0x4e2500.5306
jmp dword [eax*4 + 0x4e2507]
cmp eax, 0x16a8
jg 0x4e25b4
je 0x4e5343
sub eax, 0x14e6
je 0x4e5602
dec eax
je 0x4e5638
dec eax
je 0x4e5651
dec eax
sub eax, 3
jb 0x4e56c9
jmp case.0x4e2500.5306
sub eax, 0x16a9
je 0x4e53aa
dec eax
je 0x4e5408
dec eax
je 0x4e543e
add eax, 0xfffffff9
sub eax, 4
jb 0x4e5474
jmp case.0x4e2500.5306
mov al, byte [ebp - 4]
sub al, 0xb8
mov byte [ebp - 0x69], al
cmp byte [ebp - 0x69], 0
jne 0x4e263f
mov eax, ebx
call fcn.005c514c
test al, al
jne 0x4e263f
mov eax, ebx
call fcn.005c5184
test al, al
je 0x4e263f
lea ecx, [ebp - 0x2d8]
mov edx, dword [ebx + 0x250]
mov eax, ebx
call fcn.005f4ebc
lea edx, [ebp - 0x2d8]
lea eax, [ebx + 0x250]
call fcn.005442c4
test eax, eax
jne 0x4e263f
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x3ef0
call fcn.004ed070
jmp case.0x4e2500.5306
mov al, byte [ebp - 0x69]
sub al, 3
jb 0x4e264e
sub al, 0x13
jne 0x4e2953
call fcn.004e142c
xor eax, eax
mov dword [ebp - 0x70], eax
mov al, byte [ebp - 0x69]
sub al, 2
je 0x4e2663
sub al, 0x14
jne 0x4e268c
mov eax, ebx
call fcn.005c5184
test al, al
je 0x4e268c
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x3ef0
call fcn.004ed070
mov eax, dword [ebx + 0x4a4]
call fcn.00656c90
mov dword [ebp - 0x70], eax
mov eax, dword [ebx + 0x2f8]
call fcn.00548140
dec eax
jne 0x4e26d4
mov eax, ebx
call fcn.005c514c
test al, al
je 0x4e26bf
mov eax, dword [ebx + 0x2f8]
mov eax, dword [eax + 4]
mov esi, eax
lea edi, [ebp - 0x1bc]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
jmp 0x4e26de
lea esi, [ebx + 0x250]
lea edi, [ebp - 0x1bc]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
jmp 0x4e26de
mov dword [ebp - 0x1bc], 0x80000000
mov eax, ebx
call fcn.005ce7c4
mov edi, eax
call fcn.00656518
mov esi, eax
mov al, byte [ebp - 0x69]
sub al, 2
je 0x4e26f9
sub al, 0x14
jne 0x4e2733
mov eax, ebx
call fcn.005c514c
test al, al
jne 0x4e270d
cmp dword [ebx + 0x254], 0
jg 0x4e2727
mov eax, ebx
call fcn.005c5160
test al, al
je 0x4e2733
mov eax, dword [ebx + 0x2f8]
mov eax, dword [eax + 4]
cmp dword [eax + 4], 0
jle 0x4e2733
mov edx, 0xd
mov eax, esi
call fcn.00656684
xor eax, eax
mov al, byte [ebp - 0x69]
mov edx, dword [0x6727d4]
movzx edx, word [edx + eax*2]
mov eax, esi
call fcn.00656684
cmp byte [ebp - 0x69], 2
jne 0x4e275b
mov edx, 0xd
mov eax, esi
call fcn.00656684
mov eax, dword [ebx + 0x2f8]
call fcn.00548140
dec eax
jle 0x4e2780
mov eax, dword [ebx + 0x2f8]
mov edx, 1
call fcn.00548150
mov eax, ebx
call fcn.005c64c8
mov byte [ebx + 0x443], 1
mov eax, ebx
call fcn.005c8d08
mov edx, dword [ebx + 0xa8]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x7c]
movsx eax, word [eax + 0x32]
mov dword [ebp - 0xa4], eax
cmp byte [ebp - 0x69], 0
jne 0x4e27c0
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 0x37], 0
setne al
mov byte [ebx + 0x46e], al
cmp byte [ebx + 0x46e], 0
je 0x4e2805
mov eax, ebx
call fcn.005c514c
test al, al
je 0x4e27ee
lea ecx, [ebp - 0x218]
mov eax, dword [ebx + 0x2f8]
mov eax, dword [eax + 4]
mov edx, eax
mov eax, ebx
call fcn.005c8438
jmp 0x4e2805
push esi
push edi
lea esi, [ebx + 0x344]
lea edi, [ebp - 0x218]
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov dl, 0x2f
mov eax, ebx
call fcn.00565be8
lea eax, [ebp - 0x3a]
push eax
mov ecx, esi
mov dl, 0xd
mov eax, ebx
call fcn.005cfcec
mov eax, ebx
call fcn.00565c80
cmp byte [ebx + 0x46e], 0
je 0x4e2898
movsx eax, word [ebx + 0x332]
cmp eax, dword [ebp - 0xa4]
jne 0x4e2898
mov al, byte [0x4e59b0]
mov byte [ebp - 0x6a], al
mov eax, dword [0x672428]
mov eax, dword [eax + 0x17c]
mov dword [ebp - 0xb4], eax
mov eax, dword [0x672428]
and dword [eax + 0x17c], 0xffffff7f
push 0
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x6a]
push eax
mov ecx, dword [ebx + 0x2f8]
mov dl, 2
mov eax, ebx
call fcn.005cfd20
mov eax, dword [0x672428]
mov edx, dword [ebp - 0xb4]
mov dword [eax + 0x17c], edx
mov byte [ebx + 0x46e], 0
mov eax, dword [0x6726a0]
mov eax, dword [eax]
call fcn.0049d2c0
test al, al
je 0x4e28b2
mov eax, 0x3070
call fcn.0049dbf8
mov byte [ebx + 0x443], 0
mov eax, dword [0x672428]
test byte [eax + 0x2bc], 1
je 0x4e2904
cmp dword [ebp - 0x1bc], 0x80000000
je 0x4e2904
lea eax, [ebp - 0x1bc]
push eax
mov ecx, dword [esi + 4]
mov dl, 0x19
mov eax, ebx
call fcn.005cfcec
cmp byte [ebx + 0x459], 0
je 0x4e2904
mov eax, 0x898
call fcn.0049dbf8
mov eax, dword [0x6726a0]
mov eax, dword [eax]
mov byte [eax + 0xe], 1
mov eax, esi
call fcn.004028c0
cmp dword [ebp - 0x70], 0
je case.0x4e2500.5306
mov eax, ebx
call fcn.005ce7c4
cmp edi, eax
je case.0x4e2500.5306
mov eax, dword [ebx + 0x4a4]
call fcn.00656c90
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0x70]
mov al, byte [eax + 0x36]
mov edx, dword [ebp - 0xbc]
mov byte [edx + 0x36], al
mov eax, dword [ebp - 0xbc]
or byte [eax + 0x34], 4
jmp case.0x4e2500.5306
mov eax, dword [ebx + 0x2f8]
call fcn.00548140
mov dword [ebp - 0xac], eax
mov byte [ebp - 0x238], 3
mov al, byte [0x4e59b0]
mov byte [ebp - 0x237], al
mov dword [ebp - 0x234], 0xd20
xor eax, eax
mov al, byte [ebp - 0x69]
mov edx, dword [0x6727d4]
movzx eax, word [edx + eax*2]
mov dword [ebp - 0x220], eax
mov byte [ebx + 0x475], 1
lea ecx, [ebp - 0x238]
mov dl, 0xe
mov eax, ebx
call fcn.005cfcdc
mov byte [ebx + 0x475], 0
mov eax, dword [0x672428]
test byte [eax + 0x2bc], 1
je case.0x4e2500.5306
cmp dword [ebp - 0xac], 1
jne case.0x4e2500.5306
lea eax, [ebx + 0x250]
push eax
lea ecx, [ebp - 0x220]
mov dl, 0x19
mov eax, ebx
call fcn.005cfcec
cmp byte [ebx + 0x459], 0
je case.0x4e2500.5306
mov eax, 0x898
call fcn.0049dbf8
mov eax, dword [0x6726a0]
mov eax, dword [eax]
mov byte [eax + 0xe], 1
jmp case.0x4e2500.5306
call fcn.004e142c
xor eax, eax
mov dword [ebp - 0x70], eax
mov eax, ebx
call fcn.005c5184
test al, al
je 0x4e2a41
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x3ef0
call fcn.004ed070
mov eax, dword [ebx + 0x4a4]
call fcn.00656c90
mov dword [ebp - 0x70], eax
mov eax, ebx
call fcn.005ce7c4
mov edi, eax
call fcn.00656518
mov esi, eax
mov edx, 0xc
mov eax, esi
call fcn.006566ec
mov dl, byte [ebp - 4]
sub dl, 8
mov eax, esi
call fcn.0065665c
mov dl, 0x2f
mov eax, ebx
call fcn.00565be8
lea eax, [ebp - 0x3a]
push eax
mov ecx, esi
mov dl, 0xd
mov eax, ebx
call fcn.005cfcec
mov eax, ebx
call fcn.00565c80
mov eax, esi
call fcn.004028c0
cmp dword [ebp - 0x70], 0
je 0x4e2acb
mov eax, ebx
call fcn.005ce7c4
cmp edi, eax
je 0x4e2acb
mov eax, dword [ebx + 0x4a4]
call fcn.00656c90
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
mov eax, dword [0x6726a0]
mov eax, dword [eax]
call fcn.0049d2c0
test al, al
je case.0x4e2500.5306
mov eax, 0x3070
call fcn.0049dbf8
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.005c514c
test al, al
jne 0x4e2b05
mov eax, dword [ebx + 0x310]
cmp dword [eax + 0x18], 0
jle 0x4e2b16
mov eax, dword [ebp + 8]
push eax
mov al, 1
call fcn.004da4a0
pop ecx
jmp case.0x4e2500.5306
lea edx, [ebx + 0x250]
mov eax, ebx
call fcn.005c7afc
test al, al
je 0x4e2b36
mov eax, 0x4e59b4
call fcn.00629668
jmp case.0x4e2500.5306
lea esi, [ebx + 0x250]
cmp dword [esi], 0
jle 0x4e2ba7
cmp dword [esi + 4], 0
jne 0x4e2ba7
mov edx, dword [esi]
mov eax, ebx
call fcn.0056442c
mov edx, eax
mov eax, ebx
call fcn.0056448c
cmp eax, dword [esi]
jle 0x4e2ba7
mov edx, dword [esi]
mov eax, ebx
call fcn.005c0358
dec eax
jne 0x4e2ba7
mov eax, dword [esi]
mov edx, dword [ebx + 0xa8]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4]
cmp byte [eax + 0x3c], 0
jne 0x4e2ba7
mov eax, dword [esi]
mov edx, dword [ebx + 0xa8]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4 - 4]
cmp byte [eax + 0x3c], 0
je 0x4e2ba7
mov eax, dword [esi]
mov edx, dword [ebx + 0xa8]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4 + 4]
cmp byte [eax + 0x3c], 0
jne 0x4e2bab
xor eax, eax
jmp 0x4e2bad
mov al, 1
mov edx, dword [ebp + 8]
mov byte [edx - 5], al
mov eax, dword [ebx + 0x250]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x254]
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x250]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x254]
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0xa8]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0x18]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 0x14]
call fcn.00552428
mov esi, eax
mov eax, esi
sub ax, 0x20
jb 0x4e2c04
mov eax, esi
call fcn.00654f68
test al, al
je 0x4e2c08
xor eax, eax
jmp 0x4e2c0a
mov al, 1
mov byte [ebp - 0xb5], al
cmp byte [ebp - 0xb5], 0
je 0x4e2c20
mov byte [ebx + 0x436], 1
or word [ebp - 0x3a], 0x100
lea edx, [ebp - 0x258]
mov eax, ebx
call fcn.005c8dc4
mov eax, dword [ebp - 0x258]
cmp eax, dword [ebp - 0x248]
jne 0x4e2c51
cmp dword [ebp - 0x244], 1
jne 0x4e2c51
mov byte [ebx + 0x43e], 1
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x3a]
push eax
xor ecx, ecx
mov dl, 0x10
mov eax, ebx
call fcn.005cfd20
mov byte [ebx + 0x43e], 0
cmp byte [ebx + 0x459], 0
je 0x4e2cbd
mov eax, dword [ebx + 0x4a4]
call fcn.00656c90
mov dword [ebp - 0xc4], eax
mov eax, esi
sub ax, 0xb
je 0x4e2c97
sub ax, 0x15
jne 0x4e2ca3
mov eax, dword [ebp - 0xc4]
or byte [eax + 0x34], 2
jmp 0x4e2cb3
cmp si, 0x20
jbe 0x4e2cb3
mov eax, dword [ebp - 0xc4]
or byte [eax + 0x34], 1
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x35], 1
mov byte [ebx + 0x436], 0
cmp byte [ebp - 0xb5], 0
je 0x4e2cd6
mov dl, 1
mov eax, ebx
call fcn.005e6b3c
mov eax, 0x8fc
call fcn.0049dbf8
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.005c514c
test al, al
je 0x4e2d27
mov edx, dword [ebx + 0x2f8]
mov eax, ebx
call fcn.005c51e4
test al, al
je 0x4e2d16
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x3f16
call fcn.004ed070
jmp case.0x4e2500.5306
mov eax, dword [ebp + 8]
push eax
xor eax, eax
call fcn.004da4a0
pop ecx
jmp case.0x4e2500.5306
mov eax, dword [ebx + 0x250]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x254]
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x2d8]
mov eax, ebx
call fcn.005c8dc4
mov eax, dword [ebp - 0x2d8]
cmp eax, dword [ebp - 0x20]
jl 0x4e2d5b
cmp dword [ebp - 0x1c], 0
jle case.0x4e2500.5306
cmp dword [ebp - 0x1c], 0
jne 0x4e2d81
mov eax, dword [ebp - 0x20]
dec eax
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x18]
mov eax, ebx
call fcn.005c0358
dec eax
mov dword [ebp - 0x14], eax
mov byte [ebp - 0xb5], 0
xor esi, esi
jmp 0x4e2dcd
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x14], eax
mov byte [ebx + 0x414], 1
mov eax, dword [ebx + 0xa8]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0x18]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 0x14]
call fcn.00552428
mov esi, eax
mov eax, esi
sub ax, 0x20
jb 0x4e2dc1
mov eax, esi
call fcn.00654f68
test al, al
je 0x4e2dc5
xor eax, eax
jmp 0x4e2dc7
mov al, 1
mov byte [ebp - 0xb5], al
lea eax, [ebp - 0x18]
mov edx, eax
mov eax, ebx
call fcn.005c7afc
test al, al
je 0x4e2dec
mov eax, 0x4e59b4
call fcn.00629668
jmp case.0x4e2500.5306
lea edi, [ebx + 0x250]
mov edx, dword [edi]
mov eax, ebx
call fcn.0056442c
mov edx, eax
mov eax, ebx
call fcn.00564468
inc eax
cmp eax, dword [edi]
jge 0x4e2e62
cmp dword [edi + 4], 0
jne 0x4e2e62
mov eax, dword [edi]
mov edx, dword [ebx + 0xa8]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4]
movsx eax, byte [eax + 0x3c]
cmp ax, 1
jne 0x4e2e62
mov edx, dword [edi]
dec edx
mov eax, ebx
call fcn.005c0358
dec eax
jne 0x4e2e62
mov eax, dword [edi]
mov edx, dword [ebx + 0xa8]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4 - 4]
cmp byte [eax + 0x3c], 0
jne 0x4e2e62
mov eax, dword [edi]
mov edx, dword [ebx + 0xa8]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4 - 8]
movsx eax, byte [eax + 0x3c]
cmp ax, 1
je 0x4e2e66
xor eax, eax
jmp 0x4e2e68
mov al, 1
mov edx, dword [ebp + 8]
mov byte [edx - 5], al
or word [ebp - 0x3a], 0x800
cmp byte [ebp - 0xb5], 0
je 0x4e2e84
mov byte [ebx + 0x436], 1
mov byte [ebx + 0x410], 1
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x3a]
push eax
xor ecx, ecx
mov dl, 0x10
mov eax, ebx
call fcn.005cfd20
cmp byte [ebx + 0x459], 0
je 0x4e2ef0
mov eax, dword [ebx + 0x4a4]
call fcn.00656c90
mov dword [ebp - 0xc8], eax
mov eax, esi
sub ax, 0xb
je 0x4e2eca
sub ax, 0x15
jne 0x4e2ed6
mov eax, dword [ebp - 0xc8]
or byte [eax + 0x34], 2
jmp 0x4e2ee6
cmp si, 0x20
jbe 0x4e2ee6
mov eax, dword [ebp - 0xc8]
or byte [eax + 0x34], 1
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x35], 1
mov byte [ebx + 0x436], 0
cmp byte [ebp - 0xb5], 0
je 0x4e2f09
mov dl, 1
mov eax, ebx
call fcn.005e6b3c
mov eax, 0x8fc
call fcn.0049dbf8
mov byte [ebx + 0x414], 0
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.005c5160
test al, al
je 0x4e2f44
mov eax, dword [ebx + 0x2f8]
mov eax, dword [eax + 4]
mov esi, eax
lea edi, [ebp - 0x150]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
jmp 0x4e2f57
lea esi, [ebx + 0x250]
lea edi, [ebp - 0x150]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x140]
lea edx, [ebp - 0x150]
mov eax, ebx
call fcn.005c35f4
lea edx, [ebp - 0x150]
lea eax, [ebp - 0x140]
call fcn.005442c4
test eax, eax
je case.0x4e2500.5306
lea ecx, [ebp - 0x2d8]
lea edx, [ebp - 0x150]
lea eax, [ebp - 0x140]
call fcn.00543fc8
lea edx, [ebp - 0x2d8]
mov eax, ebx
call fcn.005c78d0
test al, al
je 0x4e2fba
mov eax, 0x4e59b4
call fcn.00629668
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.005c514c
test al, al
je 0x4e2ff7
mov eax, dword [ebx + 0x2f8]
mov eax, dword [eax + 4]
mov dword [ebp - 0xcc], eax
push 0x7fffffff
mov al, byte [0x4e5aa8]
push eax
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax]
mov eax, ebx
call fcn.005c332c
mov eax, dword [0x672428]
test byte [eax + 0x17c], 0x20
je 0x4e300a
or word [ebp - 0x3a], 0x40
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x3a]
push eax
xor ecx, ecx
mov dl, 0x10
mov eax, ebx
call fcn.005cfd20
mov eax, 0x8fc
call fcn.0049dbf8
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.005c5160
test al, al
je 0x4e305b
mov eax, dword [ebx + 0x2f8]
mov eax, dword [eax + 4]
mov esi, eax
lea edi, [ebp - 0x150]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
jmp 0x4e306e
lea esi, [ebx + 0x250]
lea edi, [ebp - 0x150]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x140]
lea edx, [ebp - 0x150]
mov eax, ebx
call fcn.005c380c
lea edx, [ebp - 0x150]
lea eax, [ebp - 0x140]
call fcn.005442c4
test eax, eax
je case.0x4e2500.5306
lea ecx, [ebp - 0x2d8]
lea edx, [ebp - 0x140]
lea eax, [ebp - 0x150]
call fcn.00543fc8
lea edx, [ebp - 0x2d8]
mov eax, ebx
call fcn.005c78d0
test al, al
je 0x4e30d1
mov eax, 0x4e59b4
call fcn.00629668
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.005c514c
test al, al
je 0x4e310e
mov eax, dword [ebx + 0x2f8]
mov eax, dword [eax + 4]
mov dword [ebp - 0xd0], eax
push 0x7fffffff
mov al, byte [0x4e5aa8]
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.005c332c
mov eax, dword [0x672428]
test byte [eax + 0x17c], 0x20
je 0x4e3121
or word [ebp - 0x3a], 0x40
or word [ebp - 0x3a], 0x100
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x3a]
push eax
xor ecx, ecx
mov dl, 0x10
mov eax, ebx
call fcn.005cfd20
mov eax, 0x8fc
call fcn.0049dbf8
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.005c5160
test al, al
je 0x4e3178
mov eax, dword [ebx + 0x2f8]
mov eax, dword [eax + 4]
mov esi, eax
lea edi, [ebp - 0x160]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
jmp 0x4e318b
lea esi, [ebx + 0x250]
lea edi, [ebp - 0x160]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0xa8]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0x160]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0xd4], eax
push 0
mov ecx, 0x7fffffff
mov edx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0xd4]
call fcn.005531cc
mov edx, dword [ebp - 0xd4]
mov edx, dword [edx + 0x10]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4]
mov dword [ebp - 8], eax
mov eax, ebx
call fcn.005c514c
test al, al
je 0x4e320a
mov eax, dword [ebx + 0x2f8]
mov eax, dword [eax + 4]
mov dword [ebp - 0xd8], eax
push 0x7fffffff
mov al, byte [0x4e5aa8]
push eax
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax]
mov eax, ebx
call fcn.005c332c
mov eax, dword [ebp - 4]
sub eax, 0xcd0
je 0x4e321b
sub eax, 0x14
je 0x4e3247
jmp 0x4e326d
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x28]
mov edx, dword [ebp - 8]
add eax, dword [edx + 0x2c]
mov dword [ebp - 0x1c], eax
jmp 0x4e32ba
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x1c], eax
jmp 0x4e32ba
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x28]
mov edx, dword [ebp - 8]
add eax, dword [edx + 0x2c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
call fcn.00551c4c
dec eax
mov edx, dword [ebp - 8]
cmp eax, dword [edx + 0x34]
je 0x4e32b7
mov eax, dword [ebp - 8]
call fcn.0054b4cc
test al, al
je 0x4e32ba
dec dword [ebp - 0x1c]
lea ecx, [ebp - 0x2d8]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x18]
call fcn.00543fc8
lea edx, [ebp - 0x2d8]
mov eax, ebx
call fcn.005c78d0
test al, al
je 0x4e32eb
mov eax, 0x4e59b4
call fcn.00629668
jmp case.0x4e2500.5306
mov eax, dword [0x672428]
test byte [eax + 0x17c], 0x20
je 0x4e32fe
or word [ebp - 0x3a], 0x40
or word [ebp - 0x3a], 0x100
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x3a]
push eax
xor ecx, ecx
mov dl, 0x10
mov eax, ebx
call fcn.005cfd20
cmp dword [ebp - 4], 0xcd0
je 0x4e332d
cmp dword [ebp - 4], 0xce4
jne 0x4e334b
push 0x7fffffff
mov al, byte [0x4e59b0]
push eax
mov ecx, dword [ebx + 0x254]
mov edx, dword [ebx + 0x250]
mov eax, ebx
call fcn.005c332c
mov eax, 0x8fc
call fcn.0049dbf8
jmp case.0x4e2500.5306
call fcn.00535954
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
or dword [eax + 0x2c], 0x2000
mov edx, dword [ebx + 0x2f8]
mov eax, ebx
call fcn.005c51e4
test al, al
je 0x4e3395
mov eax, ebx
call fcn.005f723c
mov edx, dword [ebp + 8]
mov edx, dword [edx - 4]
mov byte [edx + 0x34], al
jmp 0x4e339f
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov byte [eax + 0x34], 0xff
mov edx, 0x2710
mov eax, dword [ebp - 0xdc]
call fcn.0053484c
xor eax, eax
push ebp
push 0x4e33f5
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
call fcn.004d66ac
mov edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0xdc]
call fcn.00535454
mov eax, dword [0x672428]
cmp byte [eax + 0x180], 0
jne 0x4e33eb
mov eax, 0x910
call fcn.0049dbf8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4e3409
mov eax, dword [ebp - 0xdc]
call fcn.00534a0c
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
and dword [eax + 0x2c], 0xffffdfff
call fcn.00501d74
call fcn.0050111c
jmp case.0x4e2500.5306
mov byte [ebp - 0x238], 0
mov al, byte [0x4e59b0]
mov byte [ebp - 0x237], al
mov eax, dword [ebp - 4]
mov dword [ebp - 0x234], eax
xor eax, eax
mov dword [ebp - 0x230], eax
lea ecx, [ebp - 0x238]
mov dl, 0xe
mov eax, ebx
call fcn.005cfcdc
mov eax, 0x924
call fcn.0049dbf8
jmp case.0x4e2500.5306
lea eax, [ebp - 0x230]
call fcn.004a1c98
test al, al
je case.0x4e2500.5306
mov byte [ebp - 0x238], 0
mov al, byte [0x4e59b0]
mov byte [ebp - 0x237], al
mov dword [ebp - 0x234], 0xd20
lea ecx, [ebp - 0x238]
mov dl, 0xe
mov eax, ebx
call fcn.005cfcdc
mov eax, 0x924
call fcn.0049dbf8
jmp case.0x4e2500.5306
call fcn.00535954
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
or dword [eax + 0x2c], 0x2000
mov edx, dword [ebx + 0x2f8]
mov eax, ebx
call fcn.005c51e4
test al, al
je 0x4e34f9
mov eax, ebx
call fcn.005f723c
mov edx, dword [ebp + 8]
mov edx, dword [edx - 4]
mov byte [edx + 0x34], al
jmp 0x4e3503
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov byte [eax + 0x34], 0xff
mov edx, 0x2710
mov eax, dword [ebp - 0xe0]
call fcn.0053484c
push 0
call fcn.004d66ac
mov edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0xe0]
call fcn.00535454
mov eax, dword [ebp - 0xe0]
call fcn.00534a0c
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
and dword [eax + 0x2c], 0xffffdfff
mov eax, ebx
call fcn.005c514c
test al, al
je 0x4e356a
mov eax, ebx
call fcn.005f723c
dec eax
sub al, 3
jae 0x4e356a
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x3f16
call fcn.004ed070
jmp 0x4e3576
mov eax, dword [ebp + 8]
push eax
mov al, 1
call fcn.004da4a0
pop ecx
mov eax, ebx
call fcn.005c514c
test al, al
jne case.0x4e2500.5306
mov eax, 0x938
call fcn.0049dbf8
jmp case.0x4e2500.5306
call fcn.00535954
call fcn.005341b0
mov esi, eax
mov byte [ebp - 0xb6], 0
mov ebx, dword [esi + 8]
push 0x7fffffff
mov al, byte [0x4e5aa8]
push eax
mov edx, dword [ebx + 0x124]
dec edx
mov eax, ebx
call fcn.005c0358
mov ecx, eax
dec ecx
mov edx, dword [ebx + 0x124]
dec edx
mov eax, ebx
call fcn.005c332c
cmp dword [ebx + 0x254], 0
jle 0x4e3664
mov eax, dword [0x6726a0]
mov eax, dword [eax]
call fcn.0049d110
mov eax, dword [0x672428]
test byte [eax + 0x2bc], 1
setne al
mov byte [ebp - 0xb7], al
mov eax, dword [0x672428]
and word [eax + 0x2bc], 0xfffe
mov eax, dword [esi + 8]
call fcn.004d66c4
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0xbb8
call fcn.004ed070
call fcn.004d66e0
cmp byte [ebp - 0xb7], 0
je 0x4e3642
mov eax, dword [0x672428]
or word [eax + 0x2bc], 1
mov eax, dword [0x6726a0]
mov eax, dword [eax]
call fcn.0049d10c
mov eax, dword [ebx + 0x4a4]
call fcn.00656c90
mov byte [eax + 0x36], 0xd
mov byte [ebp - 0xb6], 1
mov eax, ebx
call fcn.005ce7c4
mov edi, eax
call fcn.004d66ac
mov edx, eax
mov eax, esi
call fcn.00533098
cmp byte [ebp - 0xb6], 0
je 0x4e36a2
mov eax, dword [esi + 8]
call fcn.005ce7c4
cmp edi, eax
je 0x4e36a2
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x4a4]
call fcn.00656c90
or byte [eax + 0x34], 4
mov eax, 0x94c
call fcn.0049dbf8
jmp case.0x4e2500.5306
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0xd70
call fcn.004ed070
mov eax, dword [0x6726a0]
mov eax, dword [eax]
call fcn.0049d110
mov eax, ebx
call fcn.005c514c
test al, al
je 0x4e36f6
mov eax, ebx
call fcn.005f723c
dec eax
sub al, 3
jae 0x4e36f6
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x3f16
call fcn.004ed070
jmp 0x4e3702
mov eax, dword [ebp + 8]
push eax
mov al, 1
call fcn.004da4a0
pop ecx
mov eax, dword [0x6726a0]
mov eax, dword [eax]
call fcn.0049d10c
mov eax, ebx
call fcn.005c514c
test al, al
jne case.0x4e2500.5306
mov eax, 0x951
call fcn.0049dbf8
jmp case.0x4e2500.5306
call fcn.00535954
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xe4]
call fcn.00534808
test al, al
je case.0x4e2500.5306
mov eax, dword [ebp - 0xe4]
call fcn.005341b0
call fcn.00532c04
mov eax, 0x960
call fcn.0049dbf8
jmp case.0x4e2500.5306
mov dl, 0xf
mov eax, ebx
call fcn.005cfccc
mov eax, 0x974
call fcn.0049dbf8
jmp case.0x4e2500.5306
mov eax, dword [0x672428]
mov al, byte [eax + 0x180]
xor al, 1
mov edx, dword [0x672428]
mov byte [edx + 0x180], al
call fcn.00501d74
mov dword [ebp - 0xe8], eax
call fcn.00501d7c
mov eax, dword [ebp - 0xe8]
cmp dword [eax + 0x264], 0
je case.0x4e2500.5306
call fcn.00535954
cmp dword [eax + 0x10], 0
je case.0x4e2500.5306
call fcn.00535954
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x264]
call fcn.0053c6a0
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0
je case.0x4e2500.5306
mov eax, dword [ebp - 0x84]
call fcn.0053b150
jmp case.0x4e2500.5306
mov eax, dword [0x672428]
test byte [eax + 0x17d], 2
je 0x4e382a
mov eax, dword [0x672428]
and dword [eax + 0x17c], 0xfffffdff
jmp 0x4e3839
mov eax, dword [0x672428]
or dword [eax + 0x17c], 0x200
call fcn.00501d7c
jmp case.0x4e2500.5306
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x233c
call fcn.004ed070
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x2ef4
call fcn.004ed070
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.005ce7c4
mov edi, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x2350
call fcn.004ed070
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x2f08
call fcn.004ed070
mov eax, ebx
call fcn.005ce7c4
cmp edi, eax
je case.0x4e2500.5306
mov eax, dword [ebx + 0x4a4]
call fcn.00656c90
mov byte [eax + 0x36], 0xe
mov edx, edi
mov eax, ebx
call fcn.005ce810
cmp eax, 2
jne case.0x4e2500.5306
mov eax, dword [ebx + 0x4a4]
call fcn.00656c90
or byte [eax + 0x34], 4
mov eax, dword [ebx + 0x4a4]
mov eax, dword [eax + 0x18]
mov edx, dword [ebx + 0x4a4]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4 - 8]
mov byte [eax + 0x36], 0xe
jmp case.0x4e2500.5306
lea edx, [ebx + 0x2fc]
mov eax, ebx
call fcn.005c5540
mov byte [ebp - 0xb6], 0
mov eax, dword [ebx + 0x2fc]
mov eax, dword [eax + 4]
mov edx, dword [eax]
mov dword [ebp - 0x28], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x24], edx
mov eax, dword [ebx + 0x2fc]
call fcn.00548140
dec eax
jne 0x4e3a8c
mov eax, dword [0x672428]
test byte [eax + 0x17c], 0x20
je 0x4e394d
mov edx, dword [ebx + 0x2fc]
mov eax, ebx
call fcn.005c7d94
test al, al
je 0x4e394d
or word [ebp - 0x3a], 0x40
or word [ebp - 0x3a], 2
mov eax, dword [ebx + 0x2fc]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x30], edx
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x2c], edx
xor eax, eax
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp - 0x30]
mov eax, ebx
call fcn.005c0358
cmp eax, dword [ebp - 0x2c]
jne 0x4e3a7e
lea edx, [ebp - 0x2d8]
mov eax, ebx
call fcn.005c8dc4
mov eax, dword [ebp - 0x2c8]
cmp eax, dword [ebp - 0x30]
je 0x4e39ca
mov eax, dword [ebx + 0xa8]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0x30]
mov eax, dword [eax + edx*4]
cmp byte [eax + 0x3c], 0
jne 0x4e3a7e
mov eax, dword [ebx + 0xa8]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0x30]
mov eax, dword [eax + edx*4 + 4]
cmp byte [eax + 0x3c], 0
je 0x4e3a7e
push 0
mov al, byte [0x4e5aa8]
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
mov eax, ebx
call fcn.005c332c
lea ecx, [ebx + 0x344]
lea eax, [ebp - 0x30]
mov edx, eax
mov eax, ebx
call fcn.005c8438
mov byte [ebx + 0x40f], 1
mov eax, dword [0x672428]
test byte [eax + 0x2bc], 1
setne al
mov byte [ebp - 0xb7], al
mov eax, dword [0x672428]
and word [eax + 0x2bc], 0xfffe
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0xbb8
call fcn.004ed070
cmp byte [ebp - 0xb7], 0
je 0x4e3a40
mov eax, dword [0x672428]
or word [eax + 0x2bc], 1
mov eax, dword [ebx + 0x4a4]
call fcn.00656c90
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xec]
mov byte [eax + 0x36], 0xd
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
call fcn.005482b4
mov byte [ebp - 0xb6], 1
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
jmp 0x4e3abf
mov eax, dword [ebx + 0x2fc]
mov eax, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x30], edx
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebx + 0x2fc]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebx + 0x2fc]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x38], edx
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x38]
mov eax, ebx
call fcn.005c0358
cmp eax, dword [ebp - 0x34]
jne 0x4e3ad6
inc dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x38]
mov eax, ebx
call fcn.005fc634
mov dword [ebp - 0x38], eax
mov byte [ebx + 0x443], 1
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x3a]
push eax
mov ecx, dword [ebp - 0x5c]
mov dl, 0x12
mov eax, ebx
call fcn.005cffc0
mov byte [ebx + 0x443], 0
cmp byte [ebp - 0xb6], 0
je case.0x4e2500.5306
mov eax, dword [ebx + 0x4a4]
call fcn.00656c90
or byte [eax + 0x34], 4
mov eax, dword [ebx + 0x2fc]
mov eax, dword [eax + 4]
mov esi, eax
lea edi, [ebp - 0x1ac]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x19c]
inc eax
mov dword [ebp - 0x18c], eax
xor eax, eax
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x178], 1
mov ax, word [0x4e5b0c]
mov word [ebp - 0x3a], ax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x3a]
push eax
xor ecx, ecx
mov dl, 0x10
mov eax, ebx
call fcn.005cfd20
cmp byte [ebx + 0x459], 0
je case.0x4e2500.5306
push 0
mov al, byte [0x4e59b0]
push eax
mov ecx, dword [ebp - 0x198]
mov edx, dword [ebp - 0x19c]
mov eax, ebx
call fcn.005c332c
mov eax, dword [ebx + 0x4a4]
call fcn.00656c90
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 - 0x1ac]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xf0]
lea edi, [eax + 0x54]
lea esi, [ebp - 0x19c]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xf0]
or byte [eax + 0x34], 4
mov eax, dword [ebp - 0x19c]
push eax
mov eax, dword [ebp - 0x198]
push eax
mov al, byte [0x4e59b0]
push eax
mov ecx, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1ac]
mov eax, ebx
call fcn.005c5e64
jmp case.0x4e2500.5306
cmp dword [ebp - 4], 0xdc0
jne 0x4e3c4f
lea eax, [ebx + 0x5f0]
call fcn.004a2c48
test al, al
je case.0x4e2500.5306
cmp dword [ebp - 4], 0xdc0
je 0x4e3c65
mov eax, ebx
call fcn.005d990c
mov dword [ebx + 0x5f0], eax
mov eax, dword [ebx + 0x1e4]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebx + 0x5f0]
mov dword [ebx + 0x1e4], eax
mov dl, 0x2e
mov eax, ebx
call fcn.00565be8
mov edx, dword [ebx + 0x5f0]
mov eax, dword [0x672428]
mov eax, dword [eax + 0x2e8]
call fcn.00479cf4
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
sub eax, 0xdc0
je 0x4e3cb5
sub eax, 0x14
je 0x4e3cc0
sub eax, 0x14
je 0x4e3ccb
jmp 0x4e3cd6
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x40], eax
jmp 0x4e3ce1
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
mov dword [ebp - 0x40], eax
jmp 0x4e3ce1
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x40], eax
jmp 0x4e3ce1
mov eax, dword [ebp - 4]
sub eax, 0x10a4
mov dword [ebp - 0x40], eax
xor ecx, ecx
mov dl, byte [0x4e5b10]
mov eax, dword [ebp - 0x48]
call fcn.00479b10
mov edi, eax
mov eax, dword [0x672428]
mov eax, dword [eax + 0x2e8]
cmp byte [eax + 9], 0
je 0x4e3de5
mov eax, dword [ebx + 0x5f0]
call fcn.00655098
mov edx, dword [0x672870]
mov eax, dword [edx + eax*4]
cmp eax, dword [ebp - 0x40]
jg 0x4e3d27
mov byte [ebp - 0x61], 0x20
jmp 0x4e3d2b
mov byte [ebp - 0x61], 0x1f
push 0x4e5b18
mov edx, dword [ebp - 0x40]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov edx, dword [edi + 0x18]
mov eax, dword [edx + eax*4]
lea edx, [ebp - 0x2e0]
call fcn.0065e604
mov eax, dword [ebp - 0x2e0]
lea edx, [ebp - 0x2dc]
call fcn.00545ef0
push dword [ebp - 0x2dc]
push 0x4e5b28
lea eax, [ebp - 0x98]
mov edx, 3
call fcn.00403b88
mov eax, dword [0x672428]
mov eax, dword [eax + 0x2e8]
cmp byte [eax + 8], 0
je 0x4e3dcd
push dword [ebp - 0x98]
push 0x4e5b30
lea eax, [ebp - 0x2dc]
mov edx, dword [0x672428]
mov edx, dword [edx + 0x2e8]
movzx edx, byte [edx + 8]
mov ecx, dword [0x6726e8]
mov edx, dword [ecx + edx*4]
call fcn.004039d0
push dword [ebp - 0x2dc]
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.005cfcec
jmp 0x4e3f93
call fcn.0065deb8
add esp, 0xfffffff8
fstp qword [esp]
wait
mov edx, dword [ebp - 0x40]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov edx, dword [edi + 0x18]
mov eax, dword [edx + eax*4]
lea ecx, [ebp - 0xc]
mov edx, dword [ebx + 0x5f0]
call fcn.0065e438
mov edx, dword [ebx + 0x5f0]
mov eax, dword [0x672010]
mov eax, dword [eax]
call fcn.0046e3f4
cmp byte [eax + 0x3d], 0
je 0x4e3e4c
lea eax, [ebp - 0x2dc]
push eax
mov cx, 0xa0
mov dx, 0x20
mov eax, dword [ebp - 0xc]
call fcn.0065ba18
mov edx, dword [ebp - 0x2dc]
lea eax, [ebp - 0xc]
call fcn.004038bc
mov eax, dword [0x672428]
mov eax, dword [eax + 0x2e8]
mov al, byte [eax + 8]
dec al
je 0x4e3e6f
dec al
je 0x4e3e90
dec al
je 0x4e3eb1
dec al
je 0x4e3ec7
jmp 0x4e3f59
lea edx, [ebp - 0x2dc]
mov eax, dword [ebp - 0xc]
call fcn.0065c3f0
mov edx, dword [ebp - 0x2dc]
lea eax, [ebp - 0xc]
call fcn.004038bc
jmp 0x4e3f59
lea edx, [ebp - 0x2dc]
mov eax, dword [ebp - 0xc]
call fcn.0065c380
mov edx, dword [ebp - 0x2dc]
lea eax, [ebp - 0xc]
call fcn.004038bc
jmp 0x4e3f59
mov eax, dword [ebp - 0xc]
mov ax, word [eax]
call fcn.0065b768
mov edx, dword [ebp - 0xc]
mov word [edx], ax
jmp 0x4e3f59
lea edx, [ebp - 0x2dc]
mov eax, dword [ebp - 0xc]
call fcn.0065c380
mov edx, dword [ebp - 0x2dc]
lea eax, [ebp - 0xc]
call fcn.004038bc
mov esi, 1
jmp 0x4e3f4d
inc esi
mov eax, dword [ebp - 0xc]
call fcn.00403ab8
cmp esi, eax
jg 0x4e3f0b
mov eax, dword [ebp - 0xc]
mov ax, word [eax + esi*2 - 2]
push eax
call sub.user32.dll_IsCharAlphaNumericW
test eax, eax
je 0x4e3eec
mov eax, dword [ebp - 0xc]
call fcn.00403ab8
cmp esi, eax
jg 0x4e3f2f
mov eax, dword [ebp - 0xc]
mov ax, word [eax + esi*2 - 2]
call fcn.0065b768
mov edx, dword [ebp - 0xc]
mov word [edx + esi*2 - 2], ax
jmp 0x4e3f2f
inc esi
mov eax, dword [ebp - 0xc]
call fcn.00403ab8
cmp esi, eax
jg 0x4e3f4d
mov eax, dword [ebp - 0xc]
mov ax, word [eax + esi*2 - 2]
push eax
call sub.user32.dll_IsCharAlphaNumericW
test eax, eax
jne 0x4e3f2e
mov eax, dword [ebp - 0xc]
call fcn.00403ab8
cmp esi, eax
jle 0x4e3eed
call fcn.00656518
mov esi, eax
mov edx, dword [ebp - 0xc]
mov eax, esi
call fcn.0065660c
mov eax, dword [0x672428]
test byte [eax + 0x17c], 0x20
je 0x4e3f7d
or word [ebp - 0x3a], 0x40
lea eax, [ebp - 0x3a]
push eax
mov ecx, esi
mov dl, 0xd
mov eax, ebx
call fcn.005cfcec
mov eax, esi
call fcn.004028c0
mov eax, edi
call fcn.004028c0
mov eax, 0x99c
call fcn.0049dbf8
mov eax, ebx
call fcn.00565c80
mov eax, dword [ebp - 0xa0]
mov dword [ebx + 0x1e4], eax
jmp case.0x4e2500.5306
cmp dword [ebp - 4], 0xdf2
jne 0x4e3fcb
mov byte [ebp - 0x61], 0x21
jmp 0x4e3fcf
mov byte [ebp - 0x61], 0x1a
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x61]
mov dl, 0x28
mov eax, ebx
call fcn.005cfcec
jmp case.0x4e2500.5306
call fcn.0042c180
jmp case.0x4e2500.5306
mov dl, 1
mov eax, dword [0x542bdc]
call fcn.0055fd98
mov dword [ebp - 0x68], eax
mov edx, dword [0x672428]
mov edx, dword [edx + 0x94]
lea eax, [ebp - 0x2e4]
mov ecx, 0x4e5b44
call fcn.00403568
mov edx, dword [ebp - 0x2e4]
mov eax, dword [ebp - 0x68]
call fcn.005603f4
mov eax, dword [ebp - 0x68]
call fcn.004b2de0
mov eax, ebx
call fcn.005c514c
test al, al
je 0x4e407f
xor edi, edi
mov eax, dword [ebx + 0x2f8]
call fcn.00548140
mov esi, eax
dec esi
cmp esi, 0
jl 0x4e4092
mov eax, dword [ebx + 0x2f8]
mov edx, esi
call fcn.00548170
mov edx, dword [eax]
mov eax, ebx
call fcn.00564980
mov edx, dword [eax + 0x584]
mov eax, edi
call fcn.0065b294
mov edi, eax
dec esi
cmp esi, 0xffffffff
jne 0x4e4052
jmp 0x4e4092
lea edx, [ebp - 0x354]
mov eax, ebx
call fcn.005649f0
mov edi, dword [ebp - 0x2f8]
mov eax, dword [0x672428]
test byte [eax + 8], 8
jne 0x4e40af
mov edx, edi
mov eax, dword [ebp - 0x68]
call fcn.004b2e80
test al, al
je 0x4e41c0
mov eax, ebx
call fcn.005c514c
test al, al
jne 0x4e40f9
cmp dword [ebx + 0x254], 0
jle 0x4e40d3
lea eax, [ebp - 0x90]
mov edx, 0x4e5b6c
call fcn.0040330c
mov edx, dword [ebx + 0x250]
mov eax, ebx
call fcn.005c0358
dec eax
cmp eax, dword [ebx + 0x254]
jle 0x4e40f9
lea eax, [ebp - 0x94]
mov edx, 0x4e5b78
call fcn.0040330c
lea eax, [ebp - 0x8c]
push eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x36c], eax
mov byte [ebp - 0x368], 0xb
lea edx, [ebp - 0x2e4]
mov eax, dword [ebp - 0x68]
call fcn.005604e0
mov eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x364], eax
mov byte [ebp - 0x360], 0xb
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x35c], eax
mov byte [ebp - 0x358], 0xb
lea edx, [ebp - 0x36c]
mov eax, 0x4e5b80
mov ecx, 2
call fcn.0065d7d4
mov byte [ebp - 0x238], 2
mov dword [ebp - 0x234], 0xd20
call fcn.00656518
mov dword [ebp - 0x224], eax
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x224]
call fcn.0065671c
call fcn.005397ec
or word [eax + 0x54], 0x80
mov byte [ebx + 0x7d0], 0x41
lea ecx, [ebp - 0x238]
mov dl, 0xe
mov eax, ebx
call fcn.005cfcdc
call fcn.005397ec
and word [eax + 0x54], 0xff7f
mov eax, dword [ebp - 0x224]
call fcn.004028c0
mov eax, dword [ebp - 0x68]
call fcn.004028c0
jmp case.0x4e2500.5306
push ebp
call fcn.004deb38
pop ecx
jmp case.0x4e2500.5306
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
xor ecx, ecx
mov edx, 0x31ed4
call fcn.004ee2e4
jmp case.0x4e2500.5306
lea edx, [ebp - 0x2dc]
mov eax, 0x4e5ba8
call fcn.0065ca3c
mov ecx, dword [ebp - 0x2dc]
mov edx, dword [0x672428]
mov edx, dword [edx + 0x2d8]
lea eax, [ebp - 0x10]
call fcn.00403b24
push 0
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll_CreateDirectoryW
lea ecx, [ebp - 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x31ed4
call fcn.004ee2e4
jmp case.0x4e2500.5306
call fcn.004dec50
jmp case.0x4e2500.5306
call fcn.004ded04
jmp case.0x4e2500.5306
mov al, byte [ebp - 4]
sub al, 0x38
call fcn.00603f88
jmp case.0x4e2500.5306
call fcn.00603f80
mov dl, byte [ebp - 4]
sub dl, 0x3d
call fcn.00609904
jmp case.0x4e2500.5306
call fcn.00603f80
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x1a4]
mov eax, dword [eax + 0x120]
mov edx, dword [eax]
call dword [edx + 0x34]
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x1b0]
mov eax, dword [eax + 0x120]
mov edx, dword [eax]
call dword [edx + 0x34]
call fcn.00501d7c
jmp case.0x4e2500.5306
call fcn.00603f80
mov dword [ebp - 0xf8], eax
xor edx, edx
mov eax, dword [ebp - 0xf8]
call fcn.00607b44
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x1c8]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xfc]
call fcn.0063e0c8
mov edx, eax
xor dl, 1
mov eax, dword [ebp - 0xfc]
call fcn.0063e0d4
jmp case.0x4e2500.5306
call fcn.00603f80
mov dword [ebp - 0x100], eax
xor edx, edx
mov eax, dword [ebp - 0x100]
call fcn.00607b44
mov eax, dword [ebp - 0x100]
mov eax, dword [eax + 0x1cc]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x104]
call fcn.0063e0c8
mov edx, eax
xor dl, 1
mov eax, dword [ebp - 0x104]
call fcn.0063e0d4
jmp case.0x4e2500.5306
call fcn.00603f80
mov dword [ebp - 0x108], eax
xor edx, edx
mov eax, dword [ebp - 0x108]
call fcn.00607b44
mov eax, dword [ebp - 0x108]
mov eax, dword [eax + 0x1d0]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x10c]
call fcn.0063e0c8
mov edx, eax
xor dl, 1
mov eax, dword [ebp - 0x10c]
call fcn.0063e0d4
jmp case.0x4e2500.5306
mov eax, dword [0x672428]
test byte [eax + 0x17e], 0x20
je 0x4e43b8
mov eax, dword [0x672428]
and dword [eax + 0x17c], 0xffdfffff
jmp case.0x4e2500.5306
mov eax, dword [0x672428]
or dword [eax + 0x17c], 0x200000
jmp case.0x4e2500.5306
mov eax, dword [0x672428]
and dword [eax + 0x17c], 0xffdfffff
call fcn.00603f80
mov al, byte [eax + 0x206]
call fcn.00603f88
mov eax, dword [0x672428]
or dword [eax + 0x17c], 0x200000
jmp case.0x4e2500.5306
mov eax, dword [0x672220]
mov eax, dword [eax]
call fcn.0060d904
jmp case.0x4e2500.5306
xor edx, edx
xor eax, eax
call fcn.004d46ec
jmp case.0x4e2500.5306
xor edx, edx
xor eax, eax
call fcn.004d4ec0
jmp case.0x4e2500.5306
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
or dword [eax + 0x2c], 0x4000
lea eax, [ebp - 0x9c]
mov edx, dword [0x672428]
mov edx, dword [edx + 0x2e0]
call fcn.004038bc
mov edx, dword [ebx + 0x2f8]
mov eax, ebx
call fcn.005c51e4
test al, al
je 0x4e4498
mov eax, ebx
call fcn.005f723c
mov edx, dword [ebp + 8]
mov edx, dword [edx - 4]
mov byte [edx + 0x34], al
lea edx, [ebp - 0x2dc]
mov eax, 0x4e5bb0
call fcn.0065ca3c
mov edx, dword [ebp - 0x2dc]
mov eax, dword [0x672428]
add eax, 0x2e0
call fcn.004038bc
jmp 0x4e44a2
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov byte [eax + 0x34], 0xff
cmp dword [ebp - 4], 0xe60
jne 0x4e44b4
mov eax, ebx
call fcn.0059c6d4
jmp 0x4e44bb
mov eax, ebx
call fcn.0059d920
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
cmp byte [eax + 0x34], 0xff
je 0x4e44dc
mov eax, dword [0x672428]
add eax, 0x2e0
mov edx, dword [ebp - 0x9c]
call fcn.004038bc
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
and dword [eax + 0x2c], 0xffffbfff
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.0059cdf8
jmp case.0x4e2500.5306
call fcn.00501d74
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x110]
mov al, byte [eax + 0x291]
xor al, 1
mov edx, dword [ebp - 0x110]
mov byte [edx + 0x291], al
mov eax, dword [ebx + 0x16c]
call fcn.0044f128
mov eax, dword [ebp - 0x110]
call fcn.0050111c
mov eax, 0x9d8
call fcn.0049dbf8
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.005c668c
mov eax, dword [ebp + 8]
push eax
call fcn.004da388
pop ecx
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.005c66f4
jmp case.0x4e2500.5306
push ebp
call fcn.004de79c
pop ecx
jmp case.0x4e2500.5306
push ebp
call fcn.004de864
pop ecx
jmp case.0x4e2500.5306
push ebp
call fcn.004de914
pop ecx
jmp case.0x4e2500.5306
push ebp
call fcn.004de9a0
pop ecx
jmp case.0x4e2500.5306
push ebp
call fcn.004dea0c
pop ecx
jmp case.0x4e2500.5306
push ebp
call fcn.004deab4
pop ecx
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.005dd3bc
jmp case.0x4e2500.5306
mov dl, 1
mov eax, ebx
call fcn.005ce840
mov eax, 0x9ec
call fcn.0049dbf8
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.005cea08
mov eax, 0xa00
call fcn.0049dbf8
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.005cebd0
mov eax, 0x9ec
call fcn.0049dbf8
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.005ceca8
mov eax, 0xa00
call fcn.0049dbf8
jmp case.0x4e2500.5306
lea edx, [ebx + 0x2f8]
mov eax, ebx
call fcn.005c5540
mov eax, dword [ebx + 0x2f8]
mov eax, dword [eax + 4]
add eax, 0x10
push eax
mov eax, dword [ebx + 0x2f8]
mov ecx, dword [eax + 4]
mov dl, 0x13
mov eax, ebx
call fcn.005cfcec
jmp case.0x4e2500.5306
lea edx, [ebx + 0x2f8]
mov eax, ebx
call fcn.005c5540
mov eax, ebx
call fcn.005c8cb4
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.005cfcec
mov eax, dword [ebp - 0x114]
call fcn.005485c8
jmp case.0x4e2500.5306
lea edx, [ebx + 0x2f8]
mov eax, ebx
call fcn.005c5540
cmp dword [ebp - 4], 0xf5a
jne 0x4e46aa
mov byte [ebp - 0x3c], 0
jmp 0x4e46ae
mov byte [ebp - 0x3c], 1
mov eax, dword [ebx + 0x2f8]
mov eax, dword [eax + 4]
add eax, 0x10
push eax
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebx + 0x2f8]
mov ecx, dword [eax + 4]
mov dl, 0x15
mov eax, ebx
call fcn.005cfd04
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.005da9bc
mov dword [ebp - 0x118], eax
lea edx, [ebp - 0x2d8]
mov eax, dword [ebp - 0x118]
call fcn.00548294
lea edx, [ebp - 0x2d8]
mov cl, 1
mov eax, ebx
call fcn.005c7c58
test al, al
je 0x4e4713
mov eax, 0x4e5bb8
call fcn.00629668
jmp 0x4e4741
cmp dword [ebp - 4], 0xf5f
jne 0x4e4728
mov dword [ebp - 0xa8], 0xffffffff
jmp 0x4e4732
mov dword [ebp - 0xa8], 1
lea ecx, [ebp - 0xa8]
mov dl, 0x16
mov eax, ebx
call fcn.005cfcdc
mov eax, dword [ebp - 0x118]
call fcn.005485c8
jmp case.0x4e2500.5306
mov eax, dword [ebp - 4]
cmp eax, 0xfa0
jg 0x4e4770
je 0x4e479e
sub eax, 0xf64
je 0x4e477e
sub eax, 0x14
je 0x4e478b
sub eax, 0x14
je 0x4e4798
jmp 0x4e47b0
sub eax, 0xfb4
je 0x4e47a4
sub eax, 5
je 0x4e47aa
jmp 0x4e47b0
mov byte [ebp - 0x3b], 0
mov byte [ebp - 0x16c], 0
jmp 0x4e47b4
mov byte [ebp - 0x3b], 0
mov byte [ebp - 0x16c], 1
jmp 0x4e47b4
mov byte [ebp - 0x3b], 1
jmp 0x4e47b4
mov byte [ebp - 0x3b], 2
jmp 0x4e47b4
mov byte [ebp - 0x3b], 3
jmp 0x4e47b4
mov byte [ebp - 0x3b], 4
jmp 0x4e47b4
mov byte [ebp - 0x3b], 5
mov ax, word [0x4e5c20]
mov word [ebp - 0x3a], ax
push 0
lea eax, [ebp - 0x3b]
push eax
lea eax, [ebp - 0x3a]
push eax
lea eax, [ebp - 0x16c]
push eax
mov ecx, dword [ebx + 0x2f8]
mov dl, 0x17
mov eax, ebx
call fcn.005cffc0
jmp case.0x4e2500.5306
call fcn.00501d74
mov eax, dword [eax + 0x260]
mov edx, 0xfc8
call fcn.006150d4
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.005dcc2c
jmp case.0x4e2500.5306
mov eax, dword [ebx + 0x1fc]
sub eax, dword [ebx + 0x1f4]
mov edx, dword [ebx + 0x16c]
sub eax, dword [edx + 0x284]
sar eax, 1
jns 0x4e4828
adc eax, 0
lea ecx, [ebp - 0x374]
mov edx, dword [ebx + 0x208]
call fcn.006561ec
lea edx, [ebp - 0x374]
mov eax, ebx
call fcn.0056272c
jmp case.0x4e2500.5306
push ebp
mov eax, dword [ebp - 4]
call fcn.004e0578
pop ecx
jmp case.0x4e2500.5306
call fcn.00501d74
cmp dword [eax + 0x26c], 0
jne 0x4e4883
xor ecx, ecx
mov dl, 1
mov eax, dword [0x4f6a18]
call fcn.004f74b0
mov esi, eax
call fcn.00501d74
mov dword [eax + 0x26c], esi
call fcn.00501d74
mov esi, dword [eax + 0x26c]
mov eax, dword [ebx + 0x16c]
mov eax, dword [eax + 0x26c]
mov dword [ebp - 0x88], eax
lea ecx, [ebp - 0x120]
mov eax, dword [ebp - 0x88]
lea edx, [eax + 0x194]
mov eax, dword [ebp - 0x88]
call fcn.00646478
mov eax, dword [ebp - 0x120]
sub eax, dword [esi + 0x30]
mov dword [esi + 0x1a0], eax
lea eax, [ebp - 0x384]
call fcn.00629814
mov eax, dword [ebp - 0x378]
sub eax, dword [esi + 0x34]
push eax
call fcn.00629920
pop edx
sub edx, eax
sub edx, 5
mov eax, dword [ebp - 0x11c]
call fcn.0065b28c
mov dword [esi + 0x1a4], eax
mov ecx, dword [esi + 0x1a4]
mov edx, dword [esi + 0x1a0]
mov eax, esi
call fcn.0064624c
mov eax, dword [0x672430]
mov byte [eax], 1
mov eax, esi
call fcn.00642f7c
mov eax, dword [0x672430]
mov byte [eax], 0
mov eax, dword [esi + 0x19c]
call fcn.00613844
mov eax, dword [ebp - 0x88]
mov byte [eax + 0x1c5], 5
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
call dword [edx + 0x34]
jmp case.0x4e2500.5306
mov al, byte [ebp - 4]
sub al, 0x86
mov edx, dword [0x672428]
mov byte [edx + 0x7a], al
call fcn.00501d74
mov eax, dword [eax + 0x26c]
call fcn.00646a88
jmp case.0x4e2500.5306
call fcn.004c4220
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.005e9e44
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.005e9ee8
jmp case.0x4e2500.5306
mov eax, dword [0x672520]
mov eax, dword [eax]
xor edx, edx
call fcn.005031f0
jmp case.0x4e2500.5306
push ebp
call fcn.004e0e44
pop ecx
jmp case.0x4e2500.5306
mov eax, dword [0x672520]
mov eax, dword [eax]
call fcn.00503270
jmp case.0x4e2500.5306
mov eax, dword [0x672520]
mov eax, dword [eax]
call fcn.0050362c
jmp case.0x4e2500.5306
mov eax, dword [0x672428]
and dword [eax + 8], 0xfffdffff
cmp dword [ebp - 4], 0x11b6
jne 0x4e49f6
mov eax, dword [0x672428]
or dword [eax + 8], 0x20000
call fcn.005397ec
mov edx, eax
mov eax, dword [edx + 0xc]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl 0x4e4a30
mov eax, dword [edx + 0xc]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + esi*4]
cmp dword [eax + 0x830], 0
jl 0x4e4a2a
mov ecx, dword [eax + 0x830]
inc ecx
neg ecx
mov dword [eax + 0x830], ecx
dec esi
cmp esi, 0xffffffff
jne 0x4e4a09
call fcn.00501d7c
jmp case.0x4e2500.5306
mov eax, dword [0x672520]
mov eax, dword [eax]
call fcn.005037d8
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.005e71d8
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
push eax
push 0x4f4c6c
lea ecx, [ebp - 0x374]
xor edx, edx
mov eax, 0x80000000
call fcn.006561ec
lea edx, [ebp - 0x374]
mov eax, dword [ebx + 0x5c8]
call fcn.004934c0
jmp case.0x4e2500.5306
mov ecx, dword [ebp - 4]
mov dl, 1
mov eax, dword [0x4b0768]
call fcn.004b1614
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x124]
call fcn.00642fd0
mov eax, dword [ebp - 0x124]
call fcn.004028c0
jmp case.0x4e2500.5306
mov eax, dword [ebx + 0x598]
cmp dword [eax + 0x18], 1
jle 0x4e4ada
mov eax, 0x4e5c24
mov cl, 0x33
mov dl, 3
call fcn.00629794
cmp ax, 6
jne case.0x4e2500.5306
mov eax, dword [ebx + 0x598]
mov edi, dword [eax + 0x18]
dec edi
test edi, edi
jl case.0x4e2500.5306
inc edi
xor esi, esi
mov eax, dword [ebx + 0x598]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax + esi*4]
mov eax, ebx
call fcn.005ea898
inc esi
dec edi
jne 0x4e4aef
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.005eaa3c
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.005eaaf0
jmp case.0x4e2500.5306
mov eax, dword [ebx + 0x5b8]
call fcn.00656bcc
mov dword [ebx + 0x5bc], 0xffffffff
call fcn.00501d7c
jmp case.0x4e2500.5306
mov eax, dword [ebx + 0x598]
call fcn.004dee00
jmp case.0x4e2500.5306
call fcn.00535954
mov edx, dword [ebx + 0x598]
mov dword [eax + 0x34], edx
push ebp
mov eax, dword [ebx + 0x598]
call fcn.004defa8
pop ecx
call fcn.00535954
xor edx, edx
mov dword [eax + 0x34], edx
jmp case.0x4e2500.5306
mov dl, 0x22
mov eax, ebx
call fcn.005cfccc
jmp case.0x4e2500.5306
mov dl, 0x24
mov eax, ebx
call fcn.005cfccc
jmp case.0x4e2500.5306
mov eax, dword [ebx + 0x598]
call fcn.004df1b4
jmp case.0x4e2500.5306
xor eax, eax
call fcn.004df048
jmp case.0x4e2500.5306
mov al, 1
call fcn.004df048
jmp case.0x4e2500.5306
call fcn.004df014
jmp case.0x4e2500.5306
call fcn.004df148
jmp case.0x4e2500.5306
mov eax, dword [ebx + 0x5a8]
call fcn.004dee00
jmp case.0x4e2500.5306
push ebp
mov eax, dword [ebx + 0x5a8]
call fcn.004defa8
pop ecx
jmp case.0x4e2500.5306
mov dl, 0x26
mov eax, ebx
call fcn.005cfccc
jmp case.0x4e2500.5306
mov eax, dword [ebx + 0x5a8]
call fcn.00656a54
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
call fcn.004dee00
mov byte [ebx + 0x7d0], 0x14
mov dl, 0x26
mov eax, ebx
call fcn.005cfccc
mov ax, word [0x4e59b0]
mov word [ebp - 0x3a], ax
push 0
push 0
lea eax, [ebp - 0x3a]
push eax
mov ecx, dword [ebx + 0x2f8]
mov dl, 0x10
mov eax, ebx
call fcn.005cfd20
mov eax, dword [ebx + 0x4a4]
call fcn.00656c90
or byte [eax + 0x34], 4
mov eax, dword [ebp - 0x74]
call fcn.00656ff0
jmp case.0x4e2500.5306
call fcn.004df344
jmp case.0x4e2500.5306
call fcn.004df3e8
jmp case.0x4e2500.5306
mov ecx, dword [ebx + 0x594]
mov dl, 0x2a
mov eax, ebx
call fcn.005cfcdc
jmp case.0x4e2500.5306
mov eax, dword [ebx + 0x594]
call fcn.004dee00
jmp case.0x4e2500.5306
push ebp
mov eax, dword [ebx + 0x594]
call fcn.004defa8
pop ecx
jmp case.0x4e2500.5306
mov eax, dword [ebx + 0x594]
call fcn.004df1b4
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.005c514c
test al, al
je 0x4e4ce0
mov edx, dword [ebx + 0x2f8]
xor ecx, ecx
mov eax, ebx
call fcn.005f01a0
jmp case.0x4e2500.5306
lea edx, [ebp - 0x18c]
mov eax, ebx
call fcn.005c8dfc
lea ecx, [ebp - 0x18c]
xor edx, edx
mov eax, ebx
call fcn.005f01a0
jmp case.0x4e2500.5306
xor eax, eax
call fcn.004e0f34
jmp case.0x4e2500.5306
mov al, 1
call fcn.004e1094
jmp case.0x4e2500.5306
mov al, 2
call fcn.004e1094
jmp case.0x4e2500.5306
mov ecx, dword [ebx + 0x5a4]
mov dl, 0x3c
mov eax, ebx
call fcn.005cfcdc
jmp case.0x4e2500.5306
cmp dword [ebp - 4], 0x13c9
je 0x4e4d54
cmp dword [ebp - 4], 0x13cb
je 0x4e4d54
cmp dword [ebp - 4], 0x13cc
jne 0x4e4d5a
mov byte [ebp - 0x7d], 1
jmp 0x4e4d5e
mov byte [ebp - 0x7d], 2
push ebp
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x50]
lea edx, [ebp - 0x4c]
mov al, byte [ebp - 0x7d]
call fcn.004e11b4
pop ecx
cmp dword [ebp - 0x50], 0
je case.0x4e2500.5306
mov eax, dword [ebp - 4]
sub eax, 0x13cb
je 0x4e4d91
dec eax
je 0x4e4d99
dec eax
je 0x4e4d91
dec eax
je 0x4e4d99
jmp 0x4e4d9f
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x50], eax
jmp 0x4e4d9f
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 4], 0x13c9
je 0x4e4db1
cmp dword [ebp - 4], 0x13ca
jne 0x4e4dc3
mov edx, dword [ebx + 0x250]
mov eax, ebx
call fcn.0056442c
cmp al, byte [ebp - 0x7d]
je 0x4e4de7
cmp dword [ebp - 4], 0x13c9
je 0x4e4e30
cmp dword [ebp - 4], 0x13ca
je 0x4e4e30
mov edx, dword [ebx + 0x250]
mov eax, ebx
call fcn.0056442c
cmp al, byte [ebp - 0x7d]
je 0x4e4e30
lea ecx, [ebp - 0x2d8]
mov eax, dword [ebp - 0x50]
mov edx, dword [eax + 0x44]
mov eax, ebx
call fcn.005ea370
lea esi, [ebp - 0x2d8]
lea edi, [ebp - 0x268]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push 0x7fffffff
mov al, byte [0x4e59b0]
push eax
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x268]
mov eax, ebx
call fcn.005c332c
jmp case.0x4e2500.5306
lea ecx, [ebp - 0x2d8]
mov edx, dword [ebp - 0x50]
mov eax, ebx
call fcn.005ea370
lea esi, [ebp - 0x2d8]
lea edi, [ebp - 0x278]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push 0x7fffffff
mov al, byte [0x4e59b0]
push eax
mov ecx, dword [ebp - 0x274]
mov edx, dword [ebp - 0x278]
mov eax, ebx
call fcn.005c332c
mov dl, 1
mov eax, ebx
call fcn.005c2a3c
jmp case.0x4e2500.5306
mov al, 1
call fcn.004e0f34
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.00600de4
mov edx, dword [ebx + 0x250]
mov eax, ebx
call fcn.0056442c
cmp al, 1
jne 0x4e4ef1
lea ecx, [ebp - 0x2d8]
mov eax, dword [ebx + 0x59c]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov edx, dword [eax + 0x44]
mov eax, ebx
call fcn.005ea370
lea esi, [ebp - 0x2d8]
lea edi, [ebp - 0x288]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push 0x7fffffff
mov al, byte [0x4e5aa8]
push eax
mov ecx, dword [ebp - 0x284]
mov edx, dword [ebp - 0x288]
mov eax, ebx
call fcn.005c332c
jmp 0x4e4f3a
lea ecx, [ebp - 0x2d8]
mov eax, dword [ebx + 0x59c]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax]
mov eax, ebx
call fcn.005ea370
lea esi, [ebp - 0x2d8]
lea edi, [ebp - 0x298]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push 0x7fffffff
mov al, byte [0x4e5aa8]
push eax
mov ecx, dword [ebp - 0x294]
mov edx, dword [ebp - 0x298]
mov eax, ebx
call fcn.005c332c
mov dl, 1
mov eax, ebx
call fcn.005c2a3c
jmp case.0x4e2500.5306
mov eax, ebx
call fcn.00600de4
mov edx, dword [ebx + 0x250]
mov eax, ebx
call fcn.0056442c
cmp al, 2
jne 0x4e4fae
lea ecx, [ebp - 0x2d8]
mov eax, dword [ebx + 0x5a0]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov edx, dword [eax + 0x44]
mov eax, ebx
call fcn.005ea370
lea esi, [ebp - 0x2d8]
lea edi, [ebp - 0x2a8]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push 0x7fffffff
mov al, byte [0x4e5aa8]
push eax
mov ecx, dword [ebp - 0x2a4]
mov edx, dword [ebp - 0x2a8]
mov eax, ebx
call fcn.005c332c
jmp 0x4e4ff7
lea ecx, [ebp - 0x2d8]
mov eax, dword [ebx + 0x5a0]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax]
mov eax, ebx
call fcn.005ea370
lea esi, [ebp - 0x2d8]
lea edi, [ebp - 0x2b8]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push 0x7fffffff
mov al, byte [0x4e5aa8]
push eax
mov ecx, dword [ebp - 0x2b4]
mov edx, dword [ebp - 0x2b8]
mov eax, ebx
call fcn.005c332c
mov dl, 1
mov eax, ebx
call fcn.005c2a3c
jmp case.0x4e2500.5306
call fcn.00656a20
mov edi, eax
cmp dword [ebp - 4], 0x13d9
je 0x4e502b
cmp dword [ebp - 4], 0x13de
je 0x4e502b
cmp dword [ebp - 4], 0x13c8
je 0x4e502b
xor eax, eax
jmp 0x4e502d
mov al, 1
mov byte [ebp - 0x7e], al
mov eax, dword [ebx + 0x5a4]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl 0x4e50a4
mov eax, dword [ebx + 0x5a4]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + esi*4]
cmp dword [ebp - 4], 0x13c6
je 0x4e505c
mov dl, byte [eax + 6]
cmp dl, byte [ebp - 0x7e]
jne 0x4e509e
cmp dword [ebp - 4], 0x13d8
je 0x4e5089
cmp dword [ebp - 4], 0x13d9
je 0x4e5089
cmp dword [ebp - 4], 0x13c6
je 0x4e5089
cmp dword [ebp - 4], 0x13c7
je 0x4e5089
cmp dword [ebp - 4], 0x13c8
jne 0x4e5095
mov edx, dword [eax + 0x44]
mov eax, edi
call fcn.00656c78
jmp 0x4e509e
mov edx, eax
mov eax, edi
call fcn.00656c78
dec esi
cmp esi, 0xffffffff
jne 0x4e503f
mov eax, edi
call fcn.004dee00
mov eax, edi
call fcn.00656ff0
cmp dword [ebp - 4], 0x13c6
je 0x4e50d1
cmp dword [ebp - 4], 0x13c7
je 0x4e50d1
cmp dword [ebp - 4], 0x13c8
jne case.0x4e2500.5306
mov ax, word [0x4e59b0]
mov word [ebp - 0x3a], ax
push 0
push 0
lea eax, [ebp - 0x3a]
push eax
mov ecx, dword [ebx + 0x2f8]
mov dl, 0x10
mov eax, ebx
call fcn.005cfd20
jmp case.0x4e2500.5306
call fcn.004df4c8
jmp case.0x4e2500.5306
call fcn.004705d0
jmp case.0x4e2500.5306
call fcn.004df59c
jmp case.0x4e2500.5306
push ebp
call fcn.004df724
pop ecx
jmp case.0x4e2500.5306
call fcn.004df900
jmp case.0x4e2500.5306
push ebp
call fcn.004df9fc
pop ecx
jmp case.0x4e2500.5306
push ebp
call fcn.004dfbc0
pop ecx
jmp case.0x4e2500.5306
call fcn.004c5a04
jmp case.0x4e2500.5306
mov eax, dword [0x672428]
cmp byte [eax + 0x15e], 0
jne 0x4e516b
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x1964
call fcn.004ed070
mov eax, dword [0x672428]
test byte [eax + 0x167], 4
je 0x4e518b
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x191e
call fcn.004ed070
jmp 0x4e5192
mov al, 0xa
call fcn.005103ac
mov eax, dword [0x672828]
mov eax, dword [eax]
mov ebx, dword [eax + 0x14c]
lea edx, [ebp - 0x2e0]
mov eax, 0x4e5ca4
call fcn.0065ca3c
mov ecx, dword [ebp - 0x2e0]
mov edx, dword [0x672428]
mov edx, dword [edx + 0x2d8]
lea eax, [ebp - 0x2dc]
call fcn.00403b24
mov edx, dword [ebp - 0x2dc]
mov eax, dword [0x6721e4]
mov eax, dword [eax]
mov eax, dword [eax + 4]
call fcn.0050d0c0
mov dword [ebx + 0x130], eax
mov edx, dword [ebx + 0x130]
mov eax, ebx
call fcn.0061b0c4
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, 0x4e5cb0
call fcn.00629668
jmp case.0x4e2500.5306
push ebp
xor edx, edx
xor eax, eax
call fcn.004e14f0
pop ecx
jmp case.0x4e2500.5306
call fcn.004e1768
jmp case.0x4e2500.5306
call fcn.004e1978
jmp case.0x4e2500.5306
mov eax, dword [0x6723bc]
mov eax, dword [eax]
call fcn.004a1164
jmp case.0x4e2500.5306
mov eax, dword [0x6723bc]
mov eax, dword [eax]
call fcn.004a1200
jmp case.0x4e2500.5306
mov eax, dword [0x672428]
and dword [eax + 8], 0xfffbffff
cmp dword [ebp - 4], 0x14c3
jne 0x4e527f
mov eax, dword [0x672428]
or dword [eax + 8], 0x40000
call fcn.005397ec
mov edx, eax
mov eax, dword [edx + 0xc]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl 0x4e52c0
mov eax, dword [edx + 0xc]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + esi*4]
mov byte [eax + 0x44c], 0
cmp dword [eax + 0x838], 0
jl 0x4e52ba
mov ecx, dword [eax + 0x838]
inc ecx
neg ecx
mov dword [eax + 0x838], ecx
dec esi
cmp esi, 0xffffffff
jne 0x4e5292
call fcn.00501d7c
jmp case.0x4e2500.5306
mov eax, dword [0x6723bc]
mov eax, dword [eax]
xor edx, edx
call fcn.004a10a8
jmp case.0x4e2500.5306
push ebp
xor edx, edx
mov al, 1
call fcn.004e14f0
pop ecx
jmp case.0x4e2500.5306
push ebp
mov dl, 1
mov al, 1
call fcn.004e14f0
pop ecx
jmp case.0x4e2500.5306
mov eax, dword [ebx + 0x5ac]
call fcn.004dee00
jmp case.0x4e2500.5306
push ebp
mov eax, dword [ebx + 0x5ac]
call fcn.004defa8
pop ecx
jmp case.0x4e2500.5306
mov ecx, dword [ebx + 0x5ac]
mov dl, 0x2a
mov eax, ebx
call fcn.005cfcdc
jmp case.0x4e2500.5306
mov eax, dword [ebx + 0x5ac]
call fcn.004df1b4
jmp case.0x4e2500.5306
mov eax, dword [0x672428]
test byte [eax + 0x17e], 1
je 0x4e5365
mov eax, dword [0x672428]
and dword [eax + 0x17c], 0xfffeffff
jmp case.0x4e2500.5306
mov eax, dword [0x672428]
or dword [eax + 0x17c], 0x10000
call fcn.005397ec
mov ebx, eax
mov eax, dword [ebx + 0xc]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl 0x4e539b
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + esi*4]
call fcn.006003f8
dec esi
cmp esi, 0xffffffff
jne 0x4e5387
mov eax, 0x4e5d7c
call fcn.00629668
jmp case.0x4e2500.5306
mov eax, dword [0x672428]
test byte [eax + 0x17e], 2
je 0x4e53c9
mov eax, dword [0x672428]
and dword [eax + 0x17c], 0xfffdffff
jmp 0x4e53d8
mov eax, dword [0x672428]
or dword [eax + 0x17c], 0x20000
call fcn.005397ec
mov ebx, eax
mov eax, dword [ebx + 0xc]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl case.0x4e2500.5306
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + esi*4]
call fcn.006003f8
dec esi
cmp esi, 0xffffffff
jne 0x4e53ef
jmp case.0x4e2500.5306
mov eax, dword [0x672428]
test byte [eax + 0x17e], 4
je 0x4e542a
mov eax, dword [0x672428]
and dword [eax + 0x17c], 0xfffbffff
jmp case.0x4e2500.5306
mov eax, dword [0x672428]
or dword [eax + 0x17c], 0x40000
jmp case.0x4e2500.5306
mov eax, dword [0x672428]
test byte [eax + 0x17e], 8
je 0x4e5460
mov eax, dword [0x672428]
and dword [eax + 0x17c], 0xfff7ffff
jmp case.0x4e2500.5306
mov eax, dword [0x672428]
or dword [eax + 0x17c], 0x80000
jmp case.0x4e2500.5306
xor eax, eax
mov dword [ebp - 0x1b8], eax
xor eax, eax
mov dword [ebp - 0x1b4], eax
mov esi, dword [ebx + 0x124]
dec esi
cmp esi, 0
jl 0x4e553c
mov edx, esi
mov eax, ebx
call fcn.00600e04
test al, al
je 0x4e5532
mov eax, dword [ebx + 0xa8]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + esi*4]
mov al, byte [eax + 0x3d]
cmp dword [ebp - 4], 0x16b3
je 0x4e54ca
cmp dword [ebp - 4], 0x16b5
je 0x4e54ca
xor edx, edx
jmp 0x4e54cc
mov dl, 1
cmp al, dl
jne 0x4e5532
cmp dword [ebp - 4], 0x16b4
je 0x4e54f3
cmp dword [ebp - 4], 0x16b5
je 0x4e54f3
mov eax, dword [ebx + 0x5b0]
mov edx, esi
call fcn.00656dac
test al, al
je 0x4e5532
mov eax, dword [ebx + 0xa8]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax + esi*4]
mov dword [ebp - 0x1bc], esi
mov al, byte [edi + 0x3d]
xor al, 1
mov byte [edi + 0x3d], al
mov eax, edi
call fcn.005534d8
test al, al
je 0x4e5532
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 - 0x1b4], eax
dec esi
cmp esi, 0xffffffff
jne 0x4e5494
mov byte [ebx + 0x492], 1
mov dword [ebx + 0x8e8], 0x80000000
mov edx, dword [ebx + 0x2fc]
mov eax, dword [ebx + 0x2f8]
mov ecx, dword [eax]
call dword [ecx]
mov eax, ebx
call fcn.005c64c8
mov dl, 0xb
mov eax, ebx
call fcn.00565c34
mov eax, dword [ebx + 0x134]
mov ecx, dword [eax + 0x18]
mov edx, dword [ebp - 0x1b4]
mov eax, ebx
call fcn.005bfa4c
lea ecx, [ebp - 0x374]
mov edx, dword [ebx + 0x250]
mov eax, ebx
call fcn.00600fe0
cmp dword [ebp - 0x374], 0
jge 0x4e55b2
lea esi, [ebx + 0x250]
lea edi, [ebp - 0x1bc]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x1bc]
xor ecx, ecx
mov eax, ebx
call fcn.005c2354
mov eax, ebx
call fcn.005631fc
lea edx, [ebp - 0x1bc]
mov cl, byte [0x4e59b0]
mov eax, ebx
call fcn.005c315c
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.005c1964
mov eax, ebx
call fcn.00565c80
mov eax, dword [ebx + 0x16c]
call fcn.0044f128
call fcn.00501d7c
jmp case.0x4e2500.5306
mov eax, dword [ebx + 0x5d8]
cmp dword [eax + 0x18], 0
jne 0x4e5619
mov dl, 0x51
mov eax, ebx
call fcn.005cfccc
jmp 0x4e5628
mov ecx, dword [ebx + 0x5d8]
mov dl, 0x51
mov eax, ebx
call fcn.005cfcdc
mov eax, dword [ebx + 0x16c]
mov edx, dword [eax]
call dword [edx + 0x6c]
jmp case.0x4e2500.5306
mov dl, 0x51
mov eax, ebx
call fcn.005cfccc
mov eax, dword [ebx + 0x16c]
mov edx, dword [eax]
call dword [edx + 0x6c]
jmp case.0x4e2500.5306
call fcn.00656a20
mov dword [ebp - 0x78], eax
mov eax, dword [0x6727b4]
mov eax, dword [eax]
mov eax, dword [eax + 0x130]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x128]
mov eax, dword [eax + 0x120]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edi, eax
dec edi
test edi, edi
jl 0x4e56b0
inc edi
xor esi, esi
mov edx, esi
mov eax, dword [ebp - 0x128]
call fcn.0063eb18
test al, al
je 0x4e56ac
mov eax, dword [ebx + 0x5d8]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax + esi*4]
mov eax, dword [ebp - 0x78]
call fcn.00656c78
inc esi
dec edi
jne 0x4e5687
mov ecx, dword [ebp - 0x78]
mov dl, 0x51
mov eax, ebx
call fcn.005cfcdc
mov eax, dword [ebp - 0x78]
call fcn.00656ff0
jmp case.0x4e2500.5306
cmp dword [ebp - 4], 0x14eb
jne 0x4e56eb
cmp dword [ebx + 0x814], 0
je 0x4e56eb
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0x1c20
call fcn.004ed070
mov eax, dword [ebx + 0x2f8]
call fcn.00548328
mov dword [ebp - 0x60], eax
mov dl, 0x11
mov eax, ebx
call fcn.00565be8
mov eax, dword [0x6727b4]
mov eax, dword [eax]
mov eax, dword [eax + 0x130]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x12c]
call fcn.0063ea00
mov edx, eax
mov eax, dword [ebx + 0x2f8]
call fcn.00548150
xor eax, eax
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x12c]
mov eax, dword [eax + 0x120]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edi, eax
dec edi
test edi, edi
jl 0x4e57a8
inc edi
xor esi, esi
mov edx, esi
mov eax, dword [ebp - 0x12c]
call fcn.0063eb18
test al, al
je 0x4e57a4
mov eax, dword [ebx + 0x5d8]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax + esi*4]
lea ecx, [ebp - 0x2d8]
mov eax, ebx
call fcn.005ea370
mov eax, dword [ebx + 0x2f8]
mov edx, dword [ebp - 0xb0]
call fcn.00548170
push esi
push edi
lea esi, [ebp - 0x2d8]
mov edi, eax
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
inc dword [ebp - 0xb0]
inc esi
dec edi
jne 0x4e5750
mov eax, dword [ebx + 0x2f8]
call fcn.005483c0
mov eax, ebx
call fcn.00565c80
mov eax, ebx
call fcn.005c64c8
mov eax, dword [ebp - 4]
sub eax, 0x14e9
je 0x4e57d0
dec eax
je 0x4e57f0
jmp 0x4e581b
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0xc94
call fcn.004ed070
mov eax, dword [ebx + 0x16c]
mov edx, dword [eax]
call dword [edx + 0x6c]
jmp 0x4e588d
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, 0xd0c
call fcn.004ed070
mov eax, dword [ebx + 0x2f8]
mov edx, dword [ebp - 0x60]
mov ecx, dword [eax]
call dword [ecx]
mov eax, ebx
call fcn.005c64c8
call fcn.00501d7c
jmp 0x4e588d
mov dl, 0xd
mov eax, ebx
call fcn.00565be8
mov dl, 0x27
mov eax, ebx
call fcn.00565be8
mov eax, dword [ebx + 0x2f8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x130], eax
push 0x7fffffff
mov al, byte [0x4e59b0]
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.005c332c
mov eax, ebx
call fcn.00565c80
mov dl, 1
mov eax, ebx
call fcn.005c2a3c
mov eax, ebx
call fcn.00565c80
mov eax, ebx
call fcn.005c1fa8
mov eax, dword [ebx + 0x16c]
mov edx, dword [eax]
call dword [edx + 0x6c]
call fcn.00501d7c
mov eax, dword [ebp - 0x60]
call fcn.005485c8
mov eax, dword [ebp + 8]
cmp byte [eax - 5], 0
je 0x4e5939
mov eax, dword [0x672428]
test byte [eax + 0x2bd], 8
je 0x4e5939
call fcn.004d66ac
mov ebx, eax
mov eax, ebx
call fcn.005c514c
test al, al
jne 0x4e5939
cmp dword [ebx + 0x250], 0
jle 0x4e5939
cmp dword [ebx + 0x254], 0
jne 0x4e5939
mov eax, dword [ebx + 0x250]
mov edx, dword [ebx + 0xa8]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4]
cmp byte [eax + 0x3c], 0
je 0x4e5939
lea ecx, [ebp - 0x2d8]
mov edx, dword [ebx + 0x250]
mov eax, ebx
call fcn.005f4c20
mov eax, dword [ebp - 0x2d8]
cmp eax, dword [ebx + 0x250]
jne 0x4e5939
mov eax, dword [ebx + 0x250]
mov edx, dword [ebx + 0xa8]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4 - 4]
cmp byte [eax + 0x3c], 0
je 0x4e5939
lea ecx, [ebx + 0x250]
mov dl, 0x4c
mov eax, ebx
call fcn.005cfcdc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e59a7
lea eax, [ebp - 0x2e4]
call fcn.00403274
lea eax, [ebp - 0x2e0]
mov edx, 2
call fcn.00403898
lea eax, [ebp - 0x238]
mov edx, dword [0x543d24]
call fcn.00403f10
lea eax, [ebp - 0x9c]
mov edx, 2
call fcn.00403898
lea eax, [ebp - 0x94]
mov edx, 3
call fcn.00403298
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.00403898
ret