Function at 0x4e0520
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xab8]
cmp eax, dword [ecx + 8]
jbe 0x4e3e4a
sub esp, 0xb38
mov eax, 0
lea edi, [esp + 0xb0c]
call fcn.0044bb35
lea edi, [esp + 0xab4]
call fcn.0044bb35
lea edi, [esp + 0xa5c]
call fcn.0044bb35
lea edi, [esp + 0xa04]
call fcn.0044bb35
lea edi, [esp + 0x9ac]
call fcn.0044bb35
lea edi, [esp + 0x954]
call fcn.0044bb35
lea edi, [esp + 0x8fc]
call fcn.0044bb35
lea edi, [esp + 0x8a4]
call fcn.0044bb35
lea edi, [esp + 0x84c]
call fcn.0044bb35
lea edi, [esp + 0x7f4]
call fcn.0044bb35
lea edi, [esp + 0x79c]
call fcn.0044bb35
lea edi, [esp + 0x744]
call fcn.0044bb35
lea edi, [esp + 0x6ec]
call fcn.0044bb35
lea edi, [esp + 0x694]
call fcn.0044bb35
lea edi, [esp + 0x63c]
call fcn.0044bb35
lea edi, [esp + 0x5e4]
call fcn.0044bb35
lea eax, [0x524546]
mov dword [esp], eax
mov dword [esp + 4], 3
lea eax, [0x527806]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x12
call fcn.004c3790
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test eax, eax
jne 0x4e3df4
mov dword [esp + 0x3c4], ecx
mov dword [esp + 0x3c0], edx
jmp 0x4e0662
mov ecx, dword [esp + 0x3c4]
mov edx, dword [esp + 0x3c0]
lea eax, [0x506cc0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0040b3d0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea edx, [0x540c80]
cmp ecx, edx
jne 0x4e3de8
mov ebx, eax
mov dword [esp + 0x40c], ebx
mov dword [esp + 0x364], ecx
jne 0x4e3d34
mov ebp, dword [eax + 4]
cmp ebp, 0x1000
jl 0x4e3d34
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0045bd30
mov eax, dword [esp + 0xc]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x3c8], ecx
mov dword [esp + 0x510], ecx
mov dword [esp + 0x514], eax
mov dword [esp + 0x518], 0
mov dword [esp + 0x51c], 0
lea edx, [0x503420]
mov dword [esp], edx
lea ebx, [esp + 0x510]
mov dword [esp + 4], ebx
call fcn.0040af30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x518], ecx
mov dword [esp + 0x51c], eax
lea eax, [esp + 0x518]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004992c0
mov eax, dword [0x5cd490]
mov dword [esp], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 8], ecx
call fcn.00474470
mov eax, dword [esp + 0x10]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x3b4], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x4c], edx
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.0043b030
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x500], ecx
mov dword [esp + 0x504], eax
mov dword [esp + 0x508], 0
mov dword [esp + 0x50c], 0
lea eax, [0x503420]
mov dword [esp], eax
lea ecx, [esp + 0x500]
mov dword [esp + 4], ecx
call fcn.0040af30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x508], ecx
mov dword [esp + 0x50c], eax
lea eax, [esp + 0x508]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00499190
lea eax, [esp + 0x330]
mov dword [esp], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xc], eax
call fcn.0043b030
mov eax, dword [esp + 0x14]
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x40c], ecx
cmp eax, 7
jge 0x4e1dcc
cmp eax, 4
jge 0x4e119c
cmp eax, 2
jne 0x4e1194
movzx edx, word [ecx]
cmp dx, 0x736c
je 0x4e0ec0
cmp eax, 4
jne 0x4e0892
mov edx, dword [ecx]
cmp edx, 0x6b636162
je 0x4e0ea0
cmp eax, 4
jne 0x4e08a1
mov eax, dword [ecx]
cmp eax, 0x626d6f62
je 0x4e0a45
lea edi, [esp + 0x528]
lea esi, [0x540c20]
call fcn.0044c028
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x530], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x534], eax
lea eax, [0x524513]
mov dword [esp], eax
mov dword [esp + 4], 3
lea ecx, [esp + 0x528]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004d7f30
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3cc], eax
lea ecx, [0x512500]
mov dword [esp], ecx
call fcn.0040d710
mov eax, dword [esp + 4]
mov byte [eax], 1
mov ecx, dword [esp + 0x3cc]
test byte [ecx], al
mov edx, dword [0x5e0f70]
lea ebx, [ecx + 0x4c]
test edx, edx
jne 0x4e0a2d
mov dword [ecx + 0x4c], eax
mov dword [esp], ecx
call fcn.004d9d90
mov eax, dword [0x5cd490]
mov dword [esp], eax
call fcn.00473d40
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x90]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x524369]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.0043aeb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp], 0
call fcn.0043b150
mov eax, dword [esp + 0x3c0]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov edx, dword [esp + 0x3c4]
mov dword [esp], edx
call ecx
lea eax, [0x5035e0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00437f30
mov eax, dword [esp + 0x3c0]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov edx, dword [esp + 0x3c4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4e0654
call fcn.004e0520
jmp 0x4e0654
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040df80
mov ecx, dword [esp + 0x3cc]
jmp 0x4e093a
lea eax, [0x525b73]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call fcn.0048f540
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x528bb8]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x15
call fcn.0043aeb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004918c0
mov eax, dword [esp + 8]
mov dword [esp + 0x398], eax
mov dword [esp], eax
lea ecx, [0x5247bc]
mov dword [esp + 4], ecx
mov dword [esp + 8], 5
call fcn.00491670
mov eax, dword [esp + 0x398]
mov dword [esp], eax
call fcn.004926a0
lea eax, [0x525b73]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call fcn.0048f540
mov eax, dword [esp + 8]
mov dword [esp + 0x40c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x8c], ecx
lea edx, [0x525b73]
mov dword [esp], edx
mov dword [esp + 4], 0xb
call fcn.0048f540
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x408], ecx
lea edi, [esp + 0x548]
lea esi, [0x540c00]
call fcn.0044c028
mov dword [esp], 0
mov ecx, dword [esp + 0x40c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 8], ecx
lea ecx, [0x52b2a7]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0x1d
mov edx, dword [esp + 0x408]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
lea eax, [0x528bb8]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 0x15
call fcn.0043af70
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x550], eax
mov dword [esp + 0x554], ecx
lea eax, [0x524513]
mov dword [esp], eax
mov dword [esp + 4], 3
lea ecx, [esp + 0x548]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004d7f30
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3a4], eax
lea ecx, [0x512500]
mov dword [esp], ecx
call fcn.0040d710
mov eax, dword [esp + 4]
mov byte [eax], 1
mov ecx, dword [esp + 0x3a4]
test byte [ecx], al
mov edx, dword [0x5e0f70]
lea ebx, [ecx + 0x4c]
test edx, edx
jne 0x4e0e88
mov dword [ecx + 0x4c], eax
mov dword [esp], ecx
call fcn.004d8e10
lea eax, [esp + 0x110]
mov dword [esp], eax
lea eax, [0x5296e1]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
call fcn.0043b150
mov eax, dword [0x5cd490]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.00473d40
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0xf0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x524369]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.0043aeb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp], 0
call fcn.0043b150
mov eax, dword [esp + 0x3c0]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov edx, dword [esp + 0x3c4]
mov dword [esp], edx
call ecx
lea eax, [0x506cc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x3c4]
mov dword [esp + 8], edx
call fcn.0040b3d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
lea edx, [0x540c80]
cmp eax, edx
jne 0x4e0e7c
mov ebx, ecx
mov dword [esp + 0x390], eax
mov dword [esp + 0x40c], ebx
jne 0x4e0dc2
mov ebp, dword [ecx + 4]
cmp ebp, 0x1000
jl 0x4e0dc2
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.0045bd30
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x420], eax
mov dword [esp + 0x424], ecx
mov dword [esp + 0x428], 0
mov dword [esp + 0x42c], 0
lea eax, [0x503420]
mov dword [esp], eax
lea ecx, [esp + 0x420]
mov dword [esp + 4], ecx
call fcn.0040af30
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x428], eax
mov dword [esp + 0x42c], ecx
lea eax, [esp + 0x428]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004992c0
jmp 0x4e08a1
lea edi, [esp + 0x694]
xor eax, eax
call fcn.0044bb35
lea ecx, [0x5035e0]
mov dword [esp], ecx
mov dword [esp + 4], 0x1000
mov dword [esp + 8], 0x1000
call fcn.00437f30
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x3fc], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
lea edi, [esp + 0x668]
xor eax, eax
call fcn.0044bb35
mov ecx, dword [esp + 0x3fc]
mov dword [esp + 0x668], ecx
mov dword [esp + 0x66c], edx
mov dword [esp + 0x670], ebx
mov ecx, dword [esp + 0x390]
mov dword [esp + 0x674], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x678], ecx
mov dword [esp + 0x68c], 0xffffffff
mov dword [esp + 0x690], 0xffffffff
lea edi, [esp + 0x694]
lea esi, [esp + 0x668]
call fcn.0044bfe2
lea ecx, [esp + 0x694]
jmp 0x4e0d36
mov ebx, ecx
mov ecx, 0
jmp 0x4e0d13
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040df80
mov ecx, dword [esp + 0x3a4]
jmp 0x4e0c0d
mov eax, dword [esp + 0x3c0]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x3c4]
mov dword [esp], edx
call ecx
call fcn.004e0520
jmp 0x4e08a1
lea edi, [esp + 0x588]
lea esi, [0x540bc0]
call fcn.0044c028
lea eax, [0x524513]
mov dword [esp], eax
mov dword [esp + 4], 3
lea ecx, [esp + 0x588]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004d7f30
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3dc], eax
lea ecx, [0x512500]
mov dword [esp], ecx
call fcn.0040d710
mov eax, dword [esp + 4]
mov byte [eax], 1
mov ecx, dword [esp + 0x3dc]
test byte [ecx], al
mov edx, dword [0x5e0f70]
lea ebx, [ecx + 0x4c]
test edx, edx
jne 0x4e117c
mov dword [ecx + 0x4c], eax
mov dword [esp], ecx
call fcn.004d9d90
mov eax, dword [0x5cd490]
mov dword [esp], eax
call fcn.00473d40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x1f0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
lea eax, [0x524369]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.0043aeb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp], 0
call fcn.0043b150
mov eax, dword [esp + 0x3c0]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x3c4]
mov dword [esp], edx
call ecx
lea eax, [0x506cc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x3c4]
mov dword [esp + 8], edx
call fcn.0040b3d0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea edx, [0x540c80]
cmp ecx, edx
jne 0x4e1170
mov ebx, eax
mov dword [esp + 0x40c], ebx
mov dword [esp + 0x374], ecx
jne 0x4e10bc
mov ebp, dword [eax + 4]
cmp ebp, 0x1000
jl 0x4e10bc
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0045bd30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x470], ecx
mov dword [esp + 0x474], eax
mov dword [esp + 0x478], 0
mov dword [esp + 0x47c], 0
lea eax, [0x503420]
mov dword [esp], eax
lea ecx, [esp + 0x470]
mov dword [esp + 4], ecx
call fcn.0040af30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x478], ecx
mov dword [esp + 0x47c], eax
lea eax, [esp + 0x478]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004992c0
jmp 0x4e08a1
lea edi, [esp + 0x79c]
xor eax, eax
call fcn.0044bb35
lea ecx, [0x5035e0]
mov dword [esp], ecx
mov dword [esp + 4], 0x1000
mov dword [esp + 8], 0x1000
call fcn.00437f30
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
lea edi, [esp + 0x770]
xor eax, eax
call fcn.0044bb35
mov dword [esp + 0x770], ebx
mov dword [esp + 0x774], edx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x778], ecx
mov ecx, dword [esp + 0x374]
mov dword [esp + 0x77c], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x780], ecx
mov dword [esp + 0x794], 0xffffffff
mov dword [esp + 0x798], 0xffffffff
lea edi, [esp + 0x79c]
lea esi, [esp + 0x770]
call fcn.0044bfe2
lea eax, [esp + 0x79c]
jmp 0x4e1030
mov ebx, eax
mov eax, 0
jmp 0x4e100d
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040df80
mov ecx, dword [esp + 0x3dc]
jmp 0x4e0f40
cmp eax, 4
jmp 0x4e087f
je 0x4e1d80
cmp eax, 5
jge 0x4e14e8
cmp eax, 4
jne 0x4e14e0
mov edx, dword [ecx]
cmp edx, 0x74697865
je 0x4e14b9
cmp eax, 5
jne 0x4e08a1
mov eax, dword [ecx]
cmp eax, 0x6f746567
jne 0x4e08a1
movzx eax, byte [ecx + 4]
cmp al, 0x73
jne 0x4e08a1
lea edi, [esp + 0x5a8]
lea esi, [0x540ba0]
call fcn.0044c028
lea eax, [0x524513]
mov dword [esp], eax
mov dword [esp + 4], 3
lea ecx, [esp + 0x5a8]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004d7f30
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3e0], eax
lea ecx, [0x512500]
mov dword [esp], ecx
call fcn.0040d710
mov eax, dword [esp + 4]
mov byte [eax], 1
mov ecx, dword [esp + 0x3e0]
test byte [ecx], al
mov edx, dword [0x5e0f70]
lea ebx, [ecx + 0x4c]
test edx, edx
jne 0x4e14a1
mov dword [ecx + 0x4c], eax
mov dword [esp], ecx
call fcn.004d9d90
mov eax, dword [0x5cd490]
mov dword [esp], eax
call fcn.00473d40
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x250]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x524369]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.0043aeb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp], 0
call fcn.0043b150
mov eax, dword [esp + 0x3c0]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x3c4]
mov dword [esp], edx
call ecx
lea eax, [0x506cc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x3c4]
mov dword [esp + 8], edx
call fcn.0040b3d0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea edx, [0x540c80]
cmp ecx, edx
jne 0x4e1495
mov ebx, eax
mov dword [esp + 0x40c], ebx
mov dword [esp + 0x388], ecx
jne 0x4e13e1
mov ebp, dword [eax + 4]
cmp ebp, 0x1000
jl 0x4e13e1
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0045bd30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x4a0], ecx
mov dword [esp + 0x4a4], eax
mov dword [esp + 0x4a8], 0
mov dword [esp + 0x4ac], 0
lea eax, [0x503420]
mov dword [esp], eax
lea ecx, [esp + 0x4a0]
mov dword [esp + 4], ecx
call fcn.0040af30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x4a8], ecx
mov dword [esp + 0x4ac], eax
lea eax, [esp + 0x4a8]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004992c0
jmp 0x4e08a1
lea edi, [esp + 0x84c]
xor eax, eax
call fcn.0044bb35
lea ecx, [0x5035e0]
mov dword [esp], ecx
mov dword [esp + 4], 0x1000
mov dword [esp + 8], 0x1000
call fcn.00437f30
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
lea edi, [esp + 0x820]
xor eax, eax
call fcn.0044bb35
mov dword [esp + 0x820], ebx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x824], ecx
mov dword [esp + 0x828], edx
mov ecx, dword [esp + 0x388]
mov dword [esp + 0x82c], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x830], ecx
mov dword [esp + 0x844], 0xffffffff
mov dword [esp + 0x848], 0xffffffff
lea edi, [esp + 0x84c]
lea esi, [esp + 0x820]
call fcn.0044bfe2
lea eax, [esp + 0x84c]
jmp 0x4e1355
mov ebx, eax
mov eax, 0
jmp 0x4e1332
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040df80
mov ecx, dword [esp + 0x3e0]
jmp 0x4e1265
mov eax, dword [esp + 0x3c0]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x3c4]
mov dword [esp], edx
call ecx
mov dword [esp], 0
call fcn.00493ba0
jmp 0x4e08a1
cmp eax, 5
jmp 0x4e11c5
je 0x4e1d31
cmp eax, 6
jne 0x4e1d29
mov edx, dword [ecx]
cmp edx, 0x6f6c7075
jne 0x4e1d21
movzx edx, word [ecx + 4]
cmp dx, 0x6461
je 0x4e19f4
cmp eax, 7
jne 0x4e08a1
mov eax, dword [ecx]
cmp eax, 0x6e65706f
jne 0x4e08a1
movzx eax, word [ecx + 4]
cmp ax, 0x7275
jne 0x4e08a1
movzx eax, byte [ecx + 6]
cmp al, 0x6c
jne 0x4e08a1
lea eax, [0x506cc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x3c4]
mov dword [esp + 8], edx
call fcn.0040b3d0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea edx, [0x540c80]
cmp ecx, edx
jne 0x4e19e8
mov ebx, eax
mov dword [esp + 0x40c], ebx
mov dword [esp + 0x394], ecx
jne 0x4e192e
mov ebp, dword [eax + 4]
cmp ebp, 0x1000
jl 0x4e192e
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0045bd30
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [0x5cd490]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00474470
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x50], ecx
lea edi, [esp + 0x538]
lea esi, [0x540c10]
call fcn.0044c028
mov dword [esp], 0
lea ecx, [0x524b1d]
mov dword [esp + 4], ecx
mov dword [esp + 8], 6
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x10], eax
call fcn.0043aeb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x540], eax
mov dword [esp + 0x544], ecx
lea eax, [0x524513]
mov dword [esp], eax
mov dword [esp + 4], 3
lea ecx, [esp + 0x538]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004d7f30
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3d0], eax
lea ecx, [0x512500]
mov dword [esp], ecx
call fcn.0040d710
mov eax, dword [esp + 4]
mov byte [eax], 1
mov ecx, dword [esp + 0x3d0]
test byte [ecx], al
mov edx, dword [0x5e0f70]
lea ebx, [ecx + 0x4c]
test edx, edx
jne 0x4e1916
mov dword [ecx + 0x4c], eax
mov dword [esp], ecx
call fcn.004d8e10
lea eax, [esp + 0xd0]
mov dword [esp], eax
lea eax, [0x525a1e]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xb
call fcn.0043b150
mov eax, dword [0x5cd490]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.00473d40
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0xb0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x524369]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.0043aeb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp], 0
call fcn.0043b150
mov eax, dword [esp + 0x3c0]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov edx, dword [esp + 0x3c4]
mov dword [esp], edx
call ecx
lea eax, [0x506cc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x3c4]
mov dword [esp + 8], edx
call fcn.0040b3d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
lea edx, [0x540c80]
cmp eax, edx
jne 0x4e190a
mov ebx, ecx
mov dword [esp + 0x370], eax
mov dword [esp + 0x40c], ebx
jne 0x4e1850
mov ebp, dword [ecx + 4]
cmp ebp, 0x1000
jl 0x4e1850
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.0045bd30
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x410], eax
mov dword [esp + 0x414], ecx
mov dword [esp + 0x418], 0
mov dword [esp + 0x41c], 0
lea eax, [0x503420]
mov dword [esp], eax
lea ecx, [esp + 0x410]
mov dword [esp + 4], ecx
call fcn.0040af30
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x418], eax
mov dword [esp + 0x41c], ecx
lea eax, [esp + 0x418]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004992c0
jmp 0x4e08a1
lea edi, [esp + 0x5e4]
xor eax, eax
call fcn.0044bb35
lea ecx, [0x5035e0]
mov dword [esp], ecx
mov dword [esp + 4], 0x1000
mov dword [esp + 8], 0x1000
call fcn.00437f30
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x3e8], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
lea edi, [esp + 0x5b8]
xor eax, eax
call fcn.0044bb35
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x5b8], ecx
mov dword [esp + 0x5bc], edx
mov dword [esp + 0x5c0], ebx
mov ecx, dword [esp + 0x370]
mov dword [esp + 0x5c4], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x5c8], ecx
mov dword [esp + 0x5dc], 0xffffffff
mov dword [esp + 0x5e0], 0xffffffff
lea edi, [esp + 0x5e4]
lea esi, [esp + 0x5b8]
call fcn.0044bfe2
lea ecx, [esp + 0x5e4]
jmp 0x4e17c4
mov ebx, ecx
mov ecx, 0
jmp 0x4e17a1
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040df80
mov ecx, dword [esp + 0x3d0]
jmp 0x4e169b
lea edi, [esp + 0x63c]
xor eax, eax
call fcn.0044bb35
lea ecx, [0x5035e0]
mov dword [esp], ecx
mov dword [esp + 4], 0x1000
mov dword [esp + 8], 0x1000
call fcn.00437f30
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x3f0], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
lea edi, [esp + 0x610]
xor eax, eax
call fcn.0044bb35
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x610], ecx
mov dword [esp + 0x614], edx
mov dword [esp + 0x618], ebx
mov ecx, dword [esp + 0x394]
mov dword [esp + 0x61c], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x620], ecx
mov dword [esp + 0x634], 0xffffffff
mov dword [esp + 0x638], 0xffffffff
lea edi, [esp + 0x63c]
lea esi, [esp + 0x610]
call fcn.0044bfe2
lea eax, [esp + 0x63c]
jmp 0x4e15a4
mov ebx, eax
mov eax, 0
jmp 0x4e1581
lea eax, [0x506cc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x3c4]
mov dword [esp + 8], edx
call fcn.0040b3d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
lea edx, [0x540c80]
cmp eax, edx
jne 0x4e1d15
mov ebx, ecx
mov dword [esp + 0x36c], eax
mov dword [esp + 0x40c], ebx
jne 0x4e1c61
mov ebp, dword [ecx + 4]
cmp ebp, 0x1000
jl 0x4e1c61
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.0045bd30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [0x5cd490]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00474470
mov eax, dword [esp + 0x14]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x3b8], edx
lea ebx, [0x506cc0]
mov dword [esp], ebx
mov ebp, dword [esp + 0x3c0]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x3c4]
mov dword [esp + 8], esi
call fcn.0040b3d0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea edx, [0x540c80]
cmp ecx, edx
jne 0x4e1c55
mov ebx, eax
mov dword [esp + 0x40c], ebx
mov dword [esp + 0x35c], ecx
jne 0x4e1ba1
mov ebp, dword [eax + 4]
cmp ebp, 0x1000
jl 0x4e1ba1
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0045bd30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [0x5cd494]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00474470
mov eax, dword [esp + 0x14]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x3bc], edx
mov dword [esp], 0
mov ebx, dword [esp + 0x3b8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0xc], ebx
call fcn.0043b030
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3bc]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0x309
call fcn.004be570
jmp 0x4e08a1
lea edi, [esp + 0x8a4]
xor eax, eax
call fcn.0044bb35
lea ecx, [0x5035e0]
mov dword [esp], ecx
mov dword [esp + 4], 0x1000
mov dword [esp + 8], 0x1000
call fcn.00437f30
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
lea edi, [esp + 0x878]
xor eax, eax
call fcn.0044bb35
mov dword [esp + 0x878], edx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x87c], ecx
mov dword [esp + 0x880], ebx
mov ecx, dword [esp + 0x35c]
mov dword [esp + 0x884], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x888], ecx
mov dword [esp + 0x89c], 0xffffffff
mov dword [esp + 0x8a0], 0xffffffff
lea edi, [esp + 0x8a4]
lea esi, [esp + 0x878]
call fcn.0044bfe2
lea eax, [esp + 0x8a4]
jmp 0x4e1af8
mov ebx, eax
mov eax, 0
jmp 0x4e1ad5
lea edi, [esp + 0x8fc]
xor eax, eax
call fcn.0044bb35
lea ecx, [0x5035e0]
mov dword [esp], ecx
mov dword [esp + 4], 0x1000
mov dword [esp + 8], 0x1000
call fcn.00437f30
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
lea edi, [esp + 0x8d0]
xor eax, eax
call fcn.0044bb35
mov dword [esp + 0x8d0], edx
mov dword [esp + 0x8d4], ebx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x8d8], ecx
mov ecx, dword [esp + 0x36c]
mov dword [esp + 0x8dc], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x8e0], ecx
mov dword [esp + 0x8f4], 0xffffffff
mov dword [esp + 0x8f8], 0xffffffff
lea edi, [esp + 0x8fc]
lea esi, [esp + 0x8d0]
call fcn.0044bfe2
lea ecx, [esp + 0x8fc]
jmp 0x4e1a53
mov ebx, ecx
mov ecx, 0
jmp 0x4e1a30
cmp eax, 7
jmp 0x4e1517
cmp eax, 7
jmp 0x4e1517
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x5248e8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 5
call fcn.0044b8d0
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x4e1d6d
mov eax, dword [esp + 0x8c]
cmp eax, 4
mov ecx, dword [esp + 0x40c]
jmp 0x4e11ae
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x40c]
jmp 0x4e14ee
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x5246b9]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 4
call fcn.0044b8d0
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x4e1db9
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x40c]
jmp 0x4e0865
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x40c]
jmp 0x4e11a2
je 0x4e3ce8
cmp eax, 0xa
jge 0x4e2a18
cmp eax, 8
jne 0x4e2a10
mov edx, dword [ecx]
cmp edx, 0x6e776f64
jne 0x4e2a08
mov edx, dword [ecx + 4]
cmp edx, 0x64616f6c
je 0x4e252b
cmp eax, 0xa
je 0x4e215d
jne 0x4e08a1
mov dword [esp], ecx
lea ecx, [0x5256fa]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044b780
movzx eax, byte [esp + 0xc]
test al, al
je 0x4e08a1
call fcn.004e03d0
lea eax, [0x525b73]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call fcn.0048f540
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
lea eax, [0x52a9fe]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x1b
call fcn.0043aeb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004be3e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x10]
test eax, eax
jne 0x4e20ee
mov eax, dword [0x5cd494]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
call fcn.00473d40
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x310]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x524369]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.0043aeb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp], 0
call fcn.0043b150
mov eax, dword [esp + 0x3c0]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x14]
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov edx, dword [esp + 0x3c4]
mov dword [esp], edx
call ecx
lea eax, [0x506cc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x3c4]
mov dword [esp + 8], edx
call fcn.0040b3d0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea edx, [0x540c80]
cmp ecx, edx
jne 0x4e20e2
mov ebx, eax
mov dword [esp + 0x40c], ebx
mov dword [esp + 0x358], ecx
jne 0x4e2028
mov ebp, dword [eax + 4]
cmp ebp, 0x1000
jl 0x4e2028
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0045bd30
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x4f0], eax
mov dword [esp + 0x4f4], ecx
mov dword [esp + 0x4f8], 0
mov dword [esp + 0x4fc], 0
lea eax, [0x503420]
mov dword [esp], eax
lea ecx, [esp + 0x4f0]
mov dword [esp + 4], ecx
call fcn.0040af30
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x4f8], eax
mov dword [esp + 0x4fc], ecx
lea eax, [esp + 0x4f8]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004992c0
jmp 0x4e08a1
lea edi, [esp + 0xab4]
xor eax, eax
call fcn.0044bb35
lea ecx, [0x5035e0]
mov dword [esp], ecx
mov dword [esp + 4], 0x1000
mov dword [esp + 8], 0x1000
call fcn.00437f30
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x3e4], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
lea edi, [esp + 0xa88]
xor eax, eax
call fcn.0044bb35
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0xa88], ecx
mov dword [esp + 0xa8c], edx
mov dword [esp + 0xa90], ebx
mov ecx, dword [esp + 0x358]
mov dword [esp + 0xa94], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0xa98], ecx
mov dword [esp + 0xaac], 0xffffffff
mov dword [esp + 0xab0], 0xffffffff
lea edi, [esp + 0xab4]
lea esi, [esp + 0xa88]
call fcn.0044bfe2
lea eax, [esp + 0xab4]
jmp 0x4e1f9c
mov ebx, eax
mov eax, 0
jmp 0x4e1f79
mov dword [esp + 0x38], ecx
mov dword [esp + 0x39c], edx
mov dword [esp + 0x3c], ebx
mov dword [esp], 0
lea eax, [0x5285b7]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x14
call fcn.0043b150
mov eax, dword [esp + 0x3c0]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov edx, dword [esp + 0x3c4]
mov dword [esp], edx
call ecx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x39c]
mov ebx, dword [esp + 0x3c]
jmp 0x4e1ea8
mov dword [esp], ecx
lea edx, [0x5256c8]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0044b780
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4e2192
mov eax, dword [esp + 0x8c]
cmp eax, 0xa
mov ecx, dword [esp + 0x40c]
jmp 0x4e1e0a
lea edi, [esp + 0x598]
lea esi, [0x540bb0]
call fcn.0044c028
lea eax, [0x524513]
mov dword [esp], eax
mov dword [esp + 4], 3
lea ecx, [esp + 0x598]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004d7f30
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3d8], eax
lea ecx, [0x512500]
mov dword [esp], ecx
call fcn.0040d710
mov eax, dword [esp + 4]
mov byte [eax], 1
mov ecx, dword [esp + 0x3d8]
test byte [ecx], al
mov edx, dword [0x5e0f70]
lea ebx, [ecx + 0x4c]
test edx, edx
jne 0x4e2513
mov dword [ecx + 0x4c], eax
mov dword [esp], ecx
call fcn.004d9d90
mov dword [esp], 0
call fcn.0043b030
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x490], ecx
mov dword [esp + 0x494], eax
mov dword [esp + 0x498], 0
mov dword [esp + 0x49c], 0
lea eax, [0x503420]
mov dword [esp], eax
lea ecx, [esp + 0x490]
mov dword [esp + 4], ecx
call fcn.0040af30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x498], ecx
mov dword [esp + 0x49c], eax
lea eax, [esp + 0x498]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004992c0
lea eax, [esp + 0x230]
mov dword [esp], eax
lea eax, [0x5254a2]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
call fcn.0043b150
mov eax, dword [0x5cd490]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.00473d40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x210]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
lea eax, [0x524369]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.0043aeb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp], 0
call fcn.0043b150
mov eax, dword [esp + 0x3c0]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov edx, dword [esp + 0x3c4]
mov dword [esp], edx
call ecx
lea eax, [0x506cc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x3c4]
mov dword [esp + 8], edx
call fcn.0040b3d0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea edx, [0x540c80]
cmp ecx, edx
jne 0x4e2507
mov ebx, eax
mov dword [esp + 0x40c], ebx
mov dword [esp + 0x360], ecx
jne 0x4e244d
mov ebp, dword [eax + 4]
cmp ebp, 0x1000
jl 0x4e244d
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0045bd30
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x480], eax
mov dword [esp + 0x484], ecx
mov dword [esp + 0x488], 0
mov dword [esp + 0x48c], 0
lea eax, [0x503420]
mov dword [esp], eax
lea ecx, [esp + 0x480]
mov dword [esp + 4], ecx
call fcn.0040af30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x488], ecx
mov dword [esp + 0x48c], eax
lea eax, [esp + 0x488]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004992c0
jmp 0x4e08a1
lea edi, [esp + 0x7f4]
xor eax, eax
call fcn.0044bb35
lea ecx, [0x5035e0]
mov dword [esp], ecx
mov dword [esp + 4], 0x1000
mov dword [esp + 8], 0x1000
call fcn.00437f30
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
lea edi, [esp + 0x7c8]
xor eax, eax
call fcn.0044bb35
mov dword [esp + 0x7c8], ebx
mov dword [esp + 0x7cc], edx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x7d0], ecx
mov ecx, dword [esp + 0x360]
mov dword [esp + 0x7d4], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x7d8], ecx
mov dword [esp + 0x7ec], 0xffffffff
mov dword [esp + 0x7f0], 0xffffffff
lea edi, [esp + 0x7f4]
lea esi, [esp + 0x7c8]
call fcn.0044bfe2
lea eax, [esp + 0x7f4]
jmp 0x4e23c1
mov ebx, eax
mov eax, 0
jmp 0x4e239e
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040df80
mov ecx, dword [esp + 0x3d8]
jmp 0x4e2212
lea eax, [0x506cc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x3c4]
mov dword [esp + 8], edx
call fcn.0040b3d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
lea edx, [0x540c80]
cmp eax, edx
jne 0x4e29fc
mov ebx, ecx
mov dword [esp + 0x384], eax
mov dword [esp + 0x40c], ebx
jne 0x4e2942
mov ebp, dword [ecx + 4]
cmp ebp, 0x1000
jl 0x4e2942
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.0045bd30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [0x5cd490]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00474470
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [esp], 0
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.0043b030
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004be3e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
test edx, edx
jne 0x4e28d3
mov edx, dword [0x5cd494]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
call fcn.00473d40
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3b0], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x44], ecx
lea edx, [esp + 0x270]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea edx, [0x524369]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 1
call fcn.0043aeb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp], 0
call fcn.0043b150
mov eax, dword [esp + 0x3c0]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0xc]
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov edx, dword [esp + 0x3c4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x4c0], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x4c4], eax
mov dword [esp + 0x4c8], 0
mov dword [esp + 0x4cc], 0
lea eax, [0x503420]
mov dword [esp], eax
lea ecx, [esp + 0x4c0]
mov dword [esp + 4], ecx
call fcn.0040af30
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x4c8], eax
mov dword [esp + 0x4cc], ecx
lea eax, [esp + 0x4c8]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004992c0
lea eax, [0x506cc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x3c4]
mov dword [esp + 8], edx
call fcn.0040b3d0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea edx, [0x540c80]
cmp ecx, edx
jne 0x4e28c7
mov ebx, eax
mov dword [esp + 0x40c], ebx
mov dword [esp + 0x37c], ecx
jne 0x4e280d
mov ebp, dword [eax + 4]
cmp ebp, 0x1000
jl 0x4e280d
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0045bd30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x4b0], ecx
mov dword [esp + 0x4b4], eax
mov dword [esp + 0x4b8], 0
mov dword [esp + 0x4bc], 0
lea eax, [0x503420]
mov dword [esp], eax
lea ecx, [esp + 0x4b0]
mov dword [esp + 4], ecx
call fcn.0040af30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x4b8], ecx
mov dword [esp + 0x4bc], eax
lea eax, [esp + 0x4b8]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004992c0
jmp 0x4e08a1
lea edi, [esp + 0x954]
xor eax, eax
call fcn.0044bb35
lea ecx, [0x5035e0]
mov dword [esp], ecx
mov dword [esp + 4], 0x1000
mov dword [esp + 8], 0x1000
call fcn.00437f30
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
lea edi, [esp + 0x928]
xor eax, eax
call fcn.0044bb35
mov dword [esp + 0x928], ebx
mov dword [esp + 0x92c], edx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x930], ecx
mov ecx, dword [esp + 0x37c]
mov dword [esp + 0x934], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x938], ecx
mov dword [esp + 0x94c], 0xffffffff
mov dword [esp + 0x950], 0xffffffff
lea edi, [esp + 0x954]
lea esi, [esp + 0x928]
call fcn.0044bfe2
lea eax, [esp + 0x954]
jmp 0x4e2781
mov ebx, eax
mov eax, 0
jmp 0x4e275e
mov dword [esp + 0x34], eax
mov dword [esp + 0x3a0], ecx
mov dword [esp + 0x40], ebx
mov dword [esp], 0
lea eax, [0x5285b7]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x14
call fcn.0043b150
mov eax, dword [esp + 0x3c0]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x3c4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3a0]
mov ebx, dword [esp + 0x40]
jmp 0x4e2605
lea edi, [esp + 0x9ac]
xor eax, eax
call fcn.0044bb35
lea ecx, [0x5035e0]
mov dword [esp], ecx
mov dword [esp + 4], 0x1000
mov dword [esp + 8], 0x1000
call fcn.00437f30
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x88], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
lea edi, [esp + 0x980]
xor eax, eax
call fcn.0044bb35
mov dword [esp + 0x980], ebx
mov dword [esp + 0x984], edx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x988], ecx
mov ecx, dword [esp + 0x384]
mov dword [esp + 0x98c], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x990], ecx
mov dword [esp + 0x9a4], 0xffffffff
mov dword [esp + 0x9a8], 0xffffffff
lea edi, [esp + 0x9ac]
lea esi, [esp + 0x980]
call fcn.0044bfe2
lea ecx, [esp + 0x9ac]
jmp 0x4e258a
mov ebx, ecx
mov ecx, 0
jmp 0x4e2567
cmp eax, 0xa
jmp 0x4e1e04
cmp eax, 0xa
jmp 0x4e1e04
je 0x4e3c9c
cmp eax, 0xf
jge 0x4e2f89
cmp eax, 0xe
je 0x4e2ce5
cmp eax, 0xf
jne 0x4e08a1
mov dword [esp], ecx
lea ecx, [0x526ca0]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044b780
movzx eax, byte [esp + 0xc]
test al, al
je 0x4e08a1
mov dword [esp], 0
lea eax, [0x52f03c]
mov dword [esp + 4], eax
call fcn.0042e860
lea eax, [esp + 0x2f0]
mov dword [esp], eax
lea eax, [0x5260e1]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xd
call fcn.0043b150
mov eax, dword [0x5cd490]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.00473d40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x2d0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
lea eax, [0x524369]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.0043aeb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp], 0
call fcn.0043b150
mov eax, dword [esp + 0x3c0]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x14]
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov edx, dword [esp + 0x3c4]
mov dword [esp], edx
call ecx
lea eax, [0x506cc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x3c4]
mov dword [esp + 8], edx
call fcn.0040b3d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
lea edx, [0x540c80]
cmp eax, edx
jne 0x4e2cd9
mov ebx, ecx
mov dword [esp + 0x38c], eax
mov dword [esp + 0x40c], ebx
jne 0x4e2c1f
mov ebp, dword [ecx + 4]
cmp ebp, 0x1000
jl 0x4e2c1f
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.0045bd30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x4e0], ecx
mov dword [esp + 0x4e4], eax
mov dword [esp + 0x4e8], 0
mov dword [esp + 0x4ec], 0
lea eax, [0x503420]
mov dword [esp], eax
lea ecx, [esp + 0x4e0]
mov dword [esp + 4], ecx
call fcn.0040af30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x4e8], ecx
mov dword [esp + 0x4ec], eax
lea eax, [esp + 0x4e8]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004992c0
jmp 0x4e08a1
lea edi, [esp + 0xa5c]
xor eax, eax
call fcn.0044bb35
lea ecx, [0x5035e0]
mov dword [esp], ecx
mov dword [esp + 4], 0x1000
mov dword [esp + 8], 0x1000
call fcn.00437f30
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x3f4], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
lea edi, [esp + 0xa30]
xor eax, eax
call fcn.0044bb35
mov ecx, dword [esp + 0x3f4]
mov dword [esp + 0xa30], ecx
mov dword [esp + 0xa34], edx
mov dword [esp + 0xa38], ebx
mov ecx, dword [esp + 0x38c]
mov dword [esp + 0xa3c], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0xa40], ecx
mov dword [esp + 0xa54], 0xffffffff
mov dword [esp + 0xa58], 0xffffffff
lea edi, [esp + 0xa5c]
lea esi, [esp + 0xa30]
call fcn.0044bfe2
lea ecx, [esp + 0xa5c]
jmp 0x4e2b93
mov ebx, ecx
mov ecx, 0
jmp 0x4e2b70
mov dword [esp], ecx
lea edx, [0x5267a2]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0044b780
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4e2d1a
mov eax, dword [esp + 0x8c]
cmp eax, 0xf
mov ecx, dword [esp + 0x40c]
jmp 0x4e2a33
lea eax, [esp + 0x2b0]
mov dword [esp], eax
mov eax, dword [0x5cda1c]
mov ecx, dword [0x5cda18]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0043b150
mov eax, dword [0x5cd490]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.00473d40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x290]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
lea eax, [0x524369]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.0043aeb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp], 0
call fcn.0043b150
mov eax, dword [esp + 0x3c0]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x3c4]
mov dword [esp], edx
call ecx
lea eax, [0x506cc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x3c4]
mov dword [esp + 8], edx
call fcn.0040b3d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
lea edx, [0x540c80]
cmp eax, edx
jne 0x4e2f7d
mov ebx, ecx
mov dword [esp + 0x380], eax
mov dword [esp + 0x40c], ebx
jne 0x4e2ec9
mov ebp, dword [ecx + 4]
cmp ebp, 0x1000
jl 0x4e2ec9
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.0045bd30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x4d0], ecx
mov dword [esp + 0x4d4], eax
mov dword [esp + 0x4d8], 0
mov dword [esp + 0x4dc], 0
lea eax, [0x503420]
mov dword [esp], eax
lea ecx, [esp + 0x4d0]
mov dword [esp + 4], ecx
call fcn.0040af30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x4d8], ecx
mov dword [esp + 0x4dc], eax
lea eax, [esp + 0x4d8]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004992c0
jmp 0x4e08a1
lea edi, [esp + 0xa04]
xor eax, eax
call fcn.0044bb35
lea ecx, [0x5035e0]
mov dword [esp], ecx
mov dword [esp + 4], 0x1000
mov dword [esp + 8], 0x1000
call fcn.00437f30
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
lea edi, [esp + 0x9d8]
xor eax, eax
call fcn.0044bb35
mov dword [esp + 0x9d8], ebx
mov dword [esp + 0x9dc], edx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x9e0], ecx
mov ecx, dword [esp + 0x380]
mov dword [esp + 0x9e4], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x9e8], ecx
mov dword [esp + 0x9fc], 0xffffffff
mov dword [esp + 0xa00], 0xffffffff
lea edi, [esp + 0xa04]
lea esi, [esp + 0x9d8]
call fcn.0044bfe2
lea ecx, [esp + 0xa04]
jmp 0x4e2e3d
mov ebx, ecx
mov ecx, 0
jmp 0x4e2e1a
je 0x4e3c50
cmp eax, 0x12
je 0x4e349f
cmp eax, 0x13
jne 0x4e08a1
mov dword [esp], ecx
lea ecx, [0x5281cb]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044b780
movzx eax, byte [esp + 0xc]
test al, al
je 0x4e08a1
lea eax, [0x525b73]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call fcn.0048f540
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x528ba3]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x15
call fcn.0043aeb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00493160
lea eax, [0x52ed0b]
mov dword [esp + 0x440], eax
mov dword [esp + 0x444], 0x53
mov dword [esp + 0x448], 0
mov dword [esp + 0x44c], 0
lea ecx, [0x503420]
mov dword [esp], ecx
lea edx, [esp + 0x440]
mov dword [esp + 4], edx
call fcn.0040af30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x448], ecx
mov dword [esp + 0x44c], eax
lea eax, [esp + 0x448]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004992c0
lea eax, [0x525b73]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call fcn.0048f540
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x5285cb]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x14
call fcn.0043aeb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004918c0
mov eax, dword [esp + 8]
mov dword [esp + 0x400], eax
mov dword [esp], eax
lea ecx, [0x52ed0b]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x53
call fcn.00491670
mov eax, dword [esp + 0x400]
mov dword [esp], eax
call fcn.004926a0
lea eax, [0x525b73]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call fcn.0048f540
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x8c], ecx
lea edi, [esp + 0x558]
lea esi, [0x540bf0]
call fcn.0044c028
mov dword [esp], 0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 8], eax
lea eax, [0x5285cb]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x14
call fcn.0043aeb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x560], eax
mov dword [esp + 0x564], ecx
lea eax, [0x524513]
mov dword [esp], eax
mov dword [esp + 4], 3
lea ecx, [esp + 0x558]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004d7f30
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3a8], eax
lea ecx, [0x512500]
mov dword [esp], ecx
call fcn.0040d710
mov eax, dword [esp + 4]
mov byte [eax], 1
mov ecx, dword [esp + 0x3a8]
test byte [ecx], al
mov edx, dword [0x5e0f70]
lea ebx, [ecx + 0x4c]
test edx, edx
jne 0x4e3487
mov dword [ecx + 0x4c], eax
mov dword [esp], ecx
call fcn.004d8e10
lea eax, [esp + 0x150]
mov dword [esp], eax
lea eax, [0x52a0a9]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x19
call fcn.0043b150
mov eax, dword [0x5cd490]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.00473d40
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x130]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x524369]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.0043aeb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp], 0
call fcn.0043b150
mov eax, dword [esp + 0x3c0]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov edx, dword [esp + 0x3c4]
mov dword [esp], edx
call ecx
lea eax, [0x506cc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x3c4]
mov dword [esp + 8], edx
call fcn.0040b3d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
lea edx, [0x540c80]
cmp eax, edx
jne 0x4e347b
mov ebx, ecx
mov dword [esp + 0x378], eax
mov dword [esp + 0x40c], ebx
jne 0x4e33c1
mov ebp, dword [ecx + 4]
cmp ebp, 0x1000
jl 0x4e33c1
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.0045bd30
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x430], eax
mov dword [esp + 0x434], ecx
mov dword [esp + 0x438], 0
mov dword [esp + 0x43c], 0
lea eax, [0x503420]
mov dword [esp], eax
lea ecx, [esp + 0x430]
mov dword [esp + 4], ecx
call fcn.0040af30
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x438], eax
mov dword [esp + 0x43c], ecx
lea eax, [esp + 0x438]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004992c0
jmp 0x4e08a1
lea edi, [esp + 0x6ec]
xor eax, eax
call fcn.0044bb35
lea ecx, [0x5035e0]
mov dword [esp], ecx
mov dword [esp + 4], 0x1000
mov dword [esp + 8], 0x1000
call fcn.00437f30
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x3f8], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
lea edi, [esp + 0x6c0]
xor eax, eax
call fcn.0044bb35
mov ecx, dword [esp + 0x3f8]
mov dword [esp + 0x6c0], ecx
mov dword [esp + 0x6c4], edx
mov dword [esp + 0x6c8], ebx
mov ecx, dword [esp + 0x378]
mov dword [esp + 0x6cc], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x6d0], ecx
mov dword [esp + 0x6e4], 0xffffffff
mov dword [esp + 0x6e8], 0xffffffff
lea edi, [esp + 0x6ec]
lea esi, [esp + 0x6c0]
call fcn.0044bfe2
lea ecx, [esp + 0x6ec]
jmp 0x4e3335
mov ebx, ecx
mov ecx, 0
jmp 0x4e3312
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040df80
mov ecx, dword [esp + 0x3a8]
jmp 0x4e320c
mov dword [esp], ecx
lea edx, [0x527b9c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0044b780
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4e34d1
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x40c]
jmp 0x4e2f98
lea eax, [0x525b73]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call fcn.0048f540
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x528ba3]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x15
call fcn.0043aeb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x1ff
call fcn.00492ea0
lea eax, [0x525b73]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call fcn.0048f540
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x8c], ecx
lea edi, [esp + 0x578]
lea esi, [0x540bd0]
call fcn.0044c028
mov dword [esp], 0
lea ecx, [0x528e97]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x15
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x10], eax
lea eax, [0x528ba3]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0x15
call fcn.0043af10
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x580], eax
mov dword [esp + 0x584], ecx
lea eax, [0x524513]
mov dword [esp], eax
mov dword [esp + 4], 3
lea ecx, [esp + 0x578]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004d7f30
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3d4], eax
lea ecx, [0x512500]
mov dword [esp], ecx
call fcn.0040d710
mov eax, dword [esp + 4]
mov byte [eax], 1
mov ecx, dword [esp + 0x3d4]
test byte [ecx], al
mov edx, dword [0x5e0f70]
lea ebx, [ecx + 0x4c]
test edx, edx
jne 0x4e3c38
mov dword [ecx + 0x4c], eax
mov dword [esp], ecx
call fcn.004d9d90
mov eax, dword [0x5cd490]
mov dword [esp], eax
call fcn.00473d40
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x460], eax
mov dword [esp + 0x464], ecx
mov dword [esp + 0x468], 0
mov dword [esp + 0x46c], 0
lea eax, [0x503420]
mov dword [esp], eax
lea ecx, [esp + 0x460]
mov dword [esp + 4], ecx
call fcn.0040af30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x468], ecx
mov dword [esp + 0x46c], eax
lea eax, [esp + 0x468]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004992c0
lea eax, [0x525b73]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call fcn.0048f540
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x52b28a]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x1d
call fcn.0043aeb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004918c0
mov eax, dword [esp + 8]
mov dword [esp + 0x404], eax
mov dword [esp], eax
lea ecx, [0x52ee09]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x8e
call fcn.00491670
mov eax, dword [esp + 0x404]
mov dword [esp], eax
call fcn.004926a0
lea eax, [0x525b73]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call fcn.0048f540
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x40c], ecx
lea edi, [esp + 0x568]
lea esi, [0x540be0]
call fcn.0044c028
mov dword [esp], 0
mov ecx, dword [esp + 0x40c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
lea eax, [0x52b28a]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x1d
call fcn.0043aeb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x570], ecx
mov dword [esp + 0x574], eax
lea eax, [0x524513]
mov dword [esp], eax
mov dword [esp + 4], 3
lea ecx, [esp + 0x568]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004d7f30
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3ac], eax
lea ecx, [0x512500]
mov dword [esp], ecx
call fcn.0040d710
mov eax, dword [esp + 4]
mov byte [eax], 1
mov ecx, dword [esp + 0x3ac]
test byte [ecx], al
mov edx, dword [0x5e0f70]
lea ebx, [ecx + 0x4c]
test edx, edx
jne 0x4e3c20
mov dword [ecx + 0x4c], eax
mov dword [esp], ecx
call fcn.004d8e10
lea eax, [esp + 0x1d0]
mov dword [esp], eax
lea eax, [0x529c2c]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x18
call fcn.0043b150
mov eax, dword [0x5cd490]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call fcn.00473d40
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x350], ecx
lea edx, [esp + 0x1b0]
mov dword [esp], edx
lea edx, [0x5296ca]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x17
call fcn.0043b150
mov eax, dword [0x5cd490]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call fcn.00473d40
mov eax, dword [esp + 0x10]
mov dword [esp + 0x354], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x30], ecx
lea edx, [0x525b73]
mov dword [esp], edx
mov dword [esp + 4], 0xb
call fcn.0048f540
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x52c0f3]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x21
call fcn.0043aeb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00493be0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x4e3b9d
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0048f720
movzx eax, byte [esp + 8]
test al, al
jne 0x4e3b1d
lea eax, [0x506cc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x3c0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x3c4]
mov dword [esp + 8], edx
call fcn.0040b3d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
lea edx, [0x540c80]
cmp eax, edx
jne 0x4e3b11
mov ebx, ecx
mov dword [esp + 0x368], eax
mov dword [esp + 0x40c], ebx
jne 0x4e3a57
mov ebp, dword [ecx + 4]
cmp ebp, 0x1000
jl 0x4e3a57
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.0045bd30
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x450], eax
mov dword [esp + 0x454], ecx
mov dword [esp + 0x458], 0
mov dword [esp + 0x45c], 0
lea eax, [0x503420]
mov dword [esp], eax
lea ecx, [esp + 0x450]
mov dword [esp + 4], ecx
call fcn.0040af30
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x458], eax
mov dword [esp + 0x45c], ecx
lea eax, [esp + 0x458]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004992c0
jmp 0x4e08a1
lea edi, [esp + 0x744]
xor eax, eax
call fcn.0044bb35
lea ecx, [0x5035e0]
mov dword [esp], ecx
mov dword [esp + 4], 0x1000
mov dword [esp + 8], 0x1000
call fcn.00437f30
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x3ec], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
lea edi, [esp + 0x718]
xor eax, eax
call fcn.0044bb35
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x718], ecx
mov dword [esp + 0x71c], edx
mov dword [esp + 0x720], ebx
mov ecx, dword [esp + 0x368]
mov dword [esp + 0x724], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0x728], ecx
mov dword [esp + 0x73c], 0xffffffff
mov dword [esp + 0x740], 0xffffffff
lea edi, [esp + 0x744]
lea esi, [esp + 0x718]
call fcn.0044bfe2
lea ecx, [esp + 0x744]
jmp 0x4e39cb
mov ebx, ecx
mov ecx, 0
jmp 0x4e39a8
lea eax, [esp + 0x170]
mov dword [esp], eax
mov eax, dword [esp + 0x354]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x30]
mov dword [esp + 8], ecx
lea edx, [0x524369]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 1
call fcn.0043aeb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp], 0
call fcn.0043b150
mov eax, dword [esp + 0x3c0]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov edx, dword [esp + 0x3c4]
mov dword [esp], edx
call ecx
jmp 0x4e3b1d
lea eax, [esp + 0x190]
mov dword [esp], eax
mov eax, dword [esp + 0x350]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
lea eax, [0x524369]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.0043aeb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp], 0
call fcn.0043b150
mov eax, dword [esp + 0x3c0]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov edx, dword [esp + 0x3c4]
mov dword [esp], edx
call ecx
jmp 0x4e396c
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040df80
mov ecx, dword [esp + 0x3ac]
jmp 0x4e382f
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040df80
mov ecx, dword [esp + 0x3d4]
jmp 0x4e362b
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x526ca0]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xf
call fcn.0044b8d0
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x4e3c89
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x40c]
jmp 0x4e2a27
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x40c]
jmp 0x4e2f8f
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x5256fa]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xa
call fcn.0044b8d0
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x4e3cd5
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x40c]
jmp 0x4e1ddb
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x40c]
jmp 0x4e2a1e
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x524d61]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 7
call fcn.0044b8d0
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x4e3d21
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x40c]
jmp 0x4e085c
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x40c]
jmp 0x4e1dd2
lea edi, [esp + 0xb0c]
xor eax, eax
call fcn.0044bb35
lea ecx, [0x5035e0]
mov dword [esp], ecx
mov dword [esp + 4], 0x1000
mov dword [esp + 8], 0x1000
call fcn.00437f30
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
lea edi, [esp + 0xae0]
xor eax, eax
call fcn.0044bb35
mov dword [esp + 0xae0], edx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xae4], ecx
mov dword [esp + 0xae8], ebx
mov ecx, dword [esp + 0x364]
mov dword [esp + 0xaec], ecx
mov ecx, dword [esp + 0x40c]
mov dword [esp + 0xaf0], ecx
mov dword [esp + 0xb04], 0xffffffff
mov dword [esp + 0xb08], 0xffffffff
lea edi, [esp + 0xb0c]
lea esi, [esp + 0xae0]
call fcn.0044bfe2
lea eax, [esp + 0xb0c]
jmp 0x4e06b3
mov ebx, eax
mov eax, 0
jmp 0x4e0690
mov dword [esp + 0x520], 0
mov dword [esp + 0x524], 0
lea eax, [0x503420]
mov dword [esp + 0x520], eax
lea eax, [0x5405f8]
mov dword [esp + 0x524], eax
lea eax, [esp + 0x520]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004992c0
call fcn.004e0520
jmp 0x4e3e43
call fcn.00449fd0
jmp fcn.004e0520