Function at 0x51077c
Capabilities:
Persist via run registry key
Query environment variable

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x42
push 0
push 0
dec ecx
jne 0x510784
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x512567
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6e], 1
je 0x51253c
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.0053468c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x370]
xor edx, edx
call fcn.0045e938
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x888]
xor edx, edx
call fcn.0045e938
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x88c]
xor edx, edx
call fcn.0045e938
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xc2c], edx
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00531cf0
xor edx, edx
push ebp
push 0x512532
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x539690]
mov eax, dword [eax]
mov dx, 0xfff5
call fcn.0046af78
mov eax, dword [ebp - 4]
mov al, byte [eax + 0xc6d]
sub al, 1
jb 0x510831
je 0x510846
dec al
je 0x51085b
jmp 0x510870
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5d0]
mov edx, 0x535708
call fcn.004baebc
jmp 0x510883
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5d0]
mov edx, 0x51259c
call fcn.004baebc
jmp 0x510883
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5d0]
mov edx, 0x5125bc
call fcn.004baebc
jmp 0x510883
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5d0]
mov edx, 0x5125dc
call fcn.004baebc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5d0]
mov dl, 1
call fcn.0044cb2c
mov eax, dword [ebp - 4]
mov byte [eax + 0xc41], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xc28], edx
mov eax, dword [ebp - 4]
mov dword [eax + 0xc24], 0xffffffff
mov eax, dword [ebp - 4]
add eax, 0xc3c
call fcn.00404db4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa30]
mov edx, dword [eax]
call dword [edx + 0xc4]
mov esi, eax
dec esi
test esi, esi
jl 0x51093c
inc esi
xor ebx, ebx
mov eax, dword [ebp - 4]
push dword [eax + 0xc3c]
push 0x512600
lea ecx, [ebp - 0x114]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa30]
mov eax, dword [eax + 0x218]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x114]
lea ecx, [ebp - 0x110]
mov eax, dword [ebp - 4]
call fcn.00509780
push dword [ebp - 0x110]
push 0x51260c
mov eax, dword [ebp - 4]
add eax, 0xc3c
mov edx, 4
call fcn.0040512c
inc ebx
dec esi
jne 0x5108dd
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6c], 3
jne 0x51095a
mov eax, dword [ebp - 4]
add eax, 0xc3c
mov edx, 0x512618
call fcn.00405074
mov eax, dword [ebp - 4]
call fcn.00528980
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x318]
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00530ff4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
mov edx, 0x512630
call fcn.0044cc3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d148
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48c]
cmp byte [eax + 0x210], 0
je 0x5109b7
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
je 0x5109c3
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
je 0x5109e3
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x13
mov eax, dword [ebp - 4]
call fcn.0051f3e4
mov dl, 0x10
mov eax, dword [ebp - 4]
call fcn.0051d5ac
push pe_nt_image_headers32
lea eax, [ebp - 0x10c]
push eax
push 0x512670
call sub.kernel32.dll_ExpandEnvironmentStringsA
mov ebx, eax
test ebx, ebx
je 0x510adb
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x124]
lea edx, [ebp - 0x10c]
mov ecx, pe_nt_image_headers32
call fcn.0040501c
mov eax, dword [ebp - 0x124]
mov ecx, ebx
mov edx, 6
call fcn.004052c4
mov eax, dword [ebp - 0x120]
mov ecx, 4
mov edx, 4
call fcn.004052c4
mov eax, dword [ebp - 0x11c]
lea edx, [ebp - 0x118]
call fcn.00409514
mov eax, dword [ebp - 0x118]
mov edx, 0x512684
call fcn.004051b0
je 0x510adb
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x128]
lea edx, [ebp - 0x10c]
mov ecx, pe_nt_image_headers32
call fcn.0040501c
mov eax, dword [ebp - 0x128]
mov ecx, ebx
mov edx, 6
call fcn.004052c4
mov eax, dword [ebp - 4]
push dword [eax + 0xc3c]
push 0x512600
lea ecx, [ebp - 0x12c]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509780
push dword [ebp - 0x12c]
push 0x51260c
mov eax, dword [ebp - 4]
add eax, 0xc3c
mov edx, 4
call fcn.0040512c
jmp 0x510ae3
lea eax, [ebp - 8]
call fcn.00404db4
push pe_nt_image_headers32
lea eax, [ebp - 0x10c]
push eax
push 0x51268c
call sub.kernel32.dll_ExpandEnvironmentStringsA
mov ebx, eax
test ebx, ebx
je 0x510bdb
lea eax, [ebp - 0x134]
push eax
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x13c]
lea edx, [ebp - 0x10c]
mov ecx, pe_nt_image_headers32
call fcn.0040501c
mov eax, dword [ebp - 0x13c]
mov ecx, ebx
mov edx, 6
call fcn.004052c4
mov eax, dword [ebp - 0x138]
mov ecx, 4
mov edx, 4
call fcn.004052c4
mov eax, dword [ebp - 0x134]
lea edx, [ebp - 0x130]
call fcn.00409514
mov eax, dword [ebp - 0x130]
mov edx, 0x5126a0
call fcn.004051b0
je 0x510bdb
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x140]
lea edx, [ebp - 0x10c]
mov ecx, pe_nt_image_headers32
call fcn.0040501c
mov eax, dword [ebp - 0x140]
mov ecx, ebx
mov edx, 5
call fcn.004052c4
mov eax, dword [ebp - 4]
push dword [eax + 0xc3c]
push 0x512600
lea ecx, [ebp - 0x144]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00509780
push dword [ebp - 0x144]
push 0x51260c
mov eax, dword [ebp - 4]
add eax, 0xc3c
mov edx, 4
call fcn.0040512c
jmp 0x510be3
lea eax, [ebp - 0xc]
call fcn.00404db4
lea edx, [ebp - 0x148]
mov eax, dword [ebp - 0xc]
call fcn.00409514
mov eax, dword [ebp - 0x148]
push eax
lea edx, [ebp - 0x14c]
mov eax, dword [ebp - 8]
call fcn.00409514
mov edx, dword [ebp - 0x14c]
pop eax
call fcn.004051b0
jne 0x510c1c
lea eax, [ebp - 0xc]
call fcn.00404db4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x45c]
cmp byte [eax + 0x210], 0
je 0x510c3a
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
je 0x510c46
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
je 0x510cae
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 7
mov eax, dword [ebp - 4]
call fcn.0051f3e4
cmp dword [ebp - 8], 0
je 0x510c85
lea ecx, [ebp - 0x150]
mov edx, dword [ebp - 8]
mov eax, dword [0x53af00]
call fcn.00509830
mov edx, dword [ebp - 0x150]
mov cl, 0x12
mov eax, dword [ebp - 4]
call fcn.0051db94
cmp dword [ebp - 0xc], 0
je 0x510cae
lea ecx, [ebp - 0x154]
mov edx, dword [ebp - 0xc]
mov eax, dword [0x53af00]
call fcn.00509830
mov edx, dword [ebp - 0x154]
mov cl, 0x12
mov eax, dword [ebp - 4]
call fcn.0051db94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x490]
cmp byte [eax + 0x210], 0
je 0x510ccc
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
je 0x510cdc
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
je 0x510ea9
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x14
mov eax, dword [ebp - 4]
call fcn.0051f3e4
mov dl, 1
mov eax, dword [0x4d0804]
call fcn.004d0960
mov ebx, eax
mov edx, 0x80000001
mov eax, ebx
call fcn.004d09f8
xor ecx, ecx
mov edx, 0x5126ac
mov eax, ebx
call fcn.004d0a60
test al, al
je 0x510ea2
lea ecx, [ebp - 8]
mov edx, 0x5126f8
mov eax, ebx
call fcn.004d1068
cmp dword [ebp - 8], 0
je 0x510e06
lea ecx, [ebp - 0x158]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509780
mov eax, dword [ebp - 0x158]
call fcn.004ccb00
test al, al
je 0x510e06
lea eax, [ebp - 0x15c]
mov ecx, dword [ebp - 8]
mov edx, 0x512708
call fcn.004050b8
mov edx, dword [ebp - 0x15c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cc3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d148
lea ecx, [ebp - 0x160]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509830
lea eax, [ebp - 0x160]
mov edx, 0x512724
call fcn.00405074
mov edx, dword [ebp - 0x160]
mov cl, 0x14
mov eax, dword [ebp - 4]
call fcn.00520fac
mov eax, dword [ebp - 4]
push dword [eax + 0xc3c]
push 0x512600
lea ecx, [ebp - 0x164]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509780
push dword [ebp - 0x164]
push 0x51260c
mov eax, dword [ebp - 4]
add eax, 0xc3c
mov edx, 4
call fcn.0040512c
jmp 0x510ea2
push 0x512708
mov eax, dword [ebp - 4]
push dword [eax + 0xc48]
push 0x512730
lea eax, [ebp - 0x168]
mov edx, 3
call fcn.0040512c
mov edx, dword [ebp - 0x168]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cc3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d148
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc48]
lea eax, [ebp - 0x16c]
mov ecx, 0x512754
call fcn.004050b8
mov edx, dword [ebp - 0x16c]
mov cl, 0x14
mov eax, dword [ebp - 4]
call fcn.00520fac
mov eax, dword [ebp - 4]
push dword [eax + 0xc3c]
push 0x512600
mov eax, dword [ebp - 4]
push dword [eax + 0xc48]
push 0x512768
mov eax, dword [ebp - 4]
add eax, 0xc3c
mov edx, 4
call fcn.0040512c
mov eax, ebx
call fcn.00403fc4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x8c8]
cmp byte [eax + 0x210], 0
je 0x510ec7
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
je 0x510ed3
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
je 0x510f12
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x42
mov eax, dword [ebp - 4]
call fcn.0051f3e4
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc48]
lea eax, [ebp - 0x170]
mov ecx, 0x51277c
call fcn.004050b8
mov edx, dword [ebp - 0x170]
mov cl, 0x12
mov eax, dword [ebp - 4]
call fcn.00520fac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x81c]
cmp byte [eax + 0x210], 0
je 0x510f30
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
je 0x510f3c
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 0
jne 0x510f61
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x43
mov eax, dword [ebp - 4]
call fcn.0051f3e4
mov cl, 0x12
mov edx, 0x51279c
mov eax, dword [ebp - 4]
call fcn.00520fac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x83c]
cmp byte [eax + 0x210], 0
je 0x510f7f
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
je 0x510f8b
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 0
jne 0x510fab
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x47
mov eax, dword [ebp - 4]
call fcn.0051f3e4
mov dl, 0x16
mov eax, dword [ebp - 4]
call fcn.0051d5ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x494]
cmp byte [eax + 0x210], 0
je 0x510fc9
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
je 0x510fd9
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
je 0x5112a6
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x15
mov eax, dword [ebp - 4]
call fcn.0051f3e4
mov dl, 0x19
mov eax, dword [ebp - 4]
call fcn.0051d5ac
mov dl, 1
mov eax, dword [0x4d0804]
call fcn.004d0960
mov ebx, eax
mov edx, 0x80000001
mov eax, ebx
call fcn.004d09f8
xor ecx, ecx
mov edx, 0x5127c0
mov eax, ebx
call fcn.004d0a60
test al, al
je 0x5110f8
lea ecx, [ebp - 8]
mov edx, 0x5127f4
mov eax, ebx
call fcn.004d1068
cmp dword [ebp - 8], 0
je 0x5110f8
lea ecx, [ebp - 0x174]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509780
mov eax, dword [ebp - 0x174]
call fcn.004ccb00
test al, al
je 0x5110f8
lea eax, [ebp - 0x178]
mov ecx, dword [ebp - 8]
mov edx, 0x512708
call fcn.004050b8
mov edx, dword [ebp - 0x178]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cc3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d148
lea ecx, [ebp - 0x17c]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509830
mov edx, dword [ebp - 0x17c]
mov cl, 6
mov eax, dword [ebp - 4]
call fcn.0051db94
mov eax, dword [ebp - 4]
push dword [eax + 0xc3c]
push 0x512600
lea ecx, [ebp - 0x180]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509780
push dword [ebp - 0x180]
push 0x51260c
mov eax, dword [ebp - 4]
add eax, 0xc3c
mov edx, 4
call fcn.0040512c
mov eax, ebx
call fcn.00403fc4
mov dl, 1
mov eax, dword [0x4d0804]
call fcn.004d0960
mov ebx, eax
mov edx, 0x80000001
mov eax, ebx
call fcn.004d09f8
xor ecx, ecx
mov edx, 0x5126ac
mov eax, ebx
call fcn.004d0a60
test al, al
je 0x51129f
lea ecx, [ebp - 8]
mov edx, 0x512808
mov eax, ebx
call fcn.004d1068
cmp dword [ebp - 8], 0
je 0x511203
lea ecx, [ebp - 0x184]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509780
mov eax, dword [ebp - 0x184]
call fcn.004ccb00
test al, al
je 0x511203
lea eax, [ebp - 0x188]
mov ecx, dword [ebp - 8]
mov edx, 0x512708
call fcn.004050b8
mov edx, dword [ebp - 0x188]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cc3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d148
lea ecx, [ebp - 0x18c]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509830
mov edx, dword [ebp - 0x18c]
mov cl, 6
mov eax, dword [ebp - 4]
call fcn.0051db94
mov eax, dword [ebp - 4]
push dword [eax + 0xc3c]
push 0x512600
lea ecx, [ebp - 0x190]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509780
push dword [ebp - 0x190]
push 0x51260c
mov eax, dword [ebp - 4]
add eax, 0xc3c
mov edx, 4
call fcn.0040512c
jmp 0x51129f
push 0x512708
mov eax, dword [ebp - 4]
push dword [eax + 0xc48]
push 0x512730
lea eax, [ebp - 0x194]
mov edx, 3
call fcn.0040512c
mov edx, dword [ebp - 0x194]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cc3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d148
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc48]
lea eax, [ebp - 0x198]
mov ecx, 0x512818
call fcn.004050b8
mov edx, dword [ebp - 0x198]
mov cl, 6
mov eax, dword [ebp - 4]
call fcn.0051db94
mov eax, dword [ebp - 4]
push dword [eax + 0xc3c]
push 0x512600
mov eax, dword [ebp - 4]
push dword [eax + 0xc48]
push 0x51283c
mov eax, dword [ebp - 4]
add eax, 0xc3c
mov edx, 4
call fcn.0040512c
mov eax, ebx
call fcn.00403fc4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x498]
cmp byte [eax + 0x210], 0
je 0x5112c4
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
je 0x5112d4
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 1
jne 0x51168b
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x16
mov eax, dword [ebp - 4]
call fcn.0051f3e4
mov dl, 0x1a
mov eax, dword [ebp - 4]
call fcn.0051d5ac
mov dl, 1
mov eax, dword [0x4d0804]
call fcn.004d0960
mov ebx, eax
mov edx, 0x80000001
mov eax, ebx
call fcn.004d09f8
xor ecx, ecx
mov edx, 0x512860
mov eax, ebx
call fcn.004d0a60
test al, al
je 0x5113f8
lea ecx, [ebp - 8]
mov edx, 0x5127f4
mov eax, ebx
call fcn.004d1068
cmp dword [ebp - 8], 0
je 0x5114dd
lea ecx, [ebp - 0x19c]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509780
mov eax, dword [ebp - 0x19c]
call fcn.004ccb00
test al, al
je 0x5114dd
lea eax, [ebp - 0x1a0]
mov ecx, dword [ebp - 8]
mov edx, 0x512708
call fcn.004050b8
mov edx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cc3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d148
lea ecx, [ebp - 0x1a4]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509830
mov edx, dword [ebp - 0x1a4]
mov cl, 6
mov eax, dword [ebp - 4]
call fcn.0051db94
mov eax, dword [ebp - 4]
push dword [eax + 0xc3c]
push 0x512600
lea ecx, [ebp - 0x1a8]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509780
push dword [ebp - 0x1a8]
push 0x51260c
mov eax, dword [ebp - 4]
add eax, 0xc3c
mov edx, 4
call fcn.0040512c
jmp 0x5114dd
xor ecx, ecx
mov edx, 0x51289c
mov eax, ebx
call fcn.004d0a60
test al, al
je 0x5114dd
lea ecx, [ebp - 8]
mov edx, 0x5128d4
mov eax, ebx
call fcn.004d1068
cmp dword [ebp - 8], 0
je 0x5114dd
lea ecx, [ebp - 0x1ac]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509780
mov eax, dword [ebp - 0x1ac]
call fcn.004ccb00
test al, al
je 0x5114dd
lea eax, [ebp - 0x1b0]
mov ecx, dword [ebp - 8]
mov edx, 0x512708
call fcn.004050b8
mov edx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cc3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d148
lea ecx, [ebp - 0x1b4]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509830
mov edx, dword [ebp - 0x1b4]
mov cl, 6
mov eax, dword [ebp - 4]
call fcn.0051db94
mov eax, dword [ebp - 4]
push dword [eax + 0xc3c]
push 0x512600
lea ecx, [ebp - 0x1b8]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509780
push dword [ebp - 0x1b8]
push 0x51260c
mov eax, dword [ebp - 4]
add eax, 0xc3c
mov edx, 4
call fcn.0040512c
mov eax, ebx
call fcn.00403fc4
mov dl, 1
mov eax, dword [0x4d0804]
call fcn.004d0960
mov ebx, eax
mov edx, 0x80000001
mov eax, ebx
call fcn.004d09f8
xor ecx, ecx
mov edx, 0x5126ac
mov eax, ebx
call fcn.004d0a60
test al, al
je 0x511684
lea ecx, [ebp - 8]
mov edx, 0x5128ec
mov eax, ebx
call fcn.004d1068
cmp dword [ebp - 8], 0
je 0x5115e8
lea ecx, [ebp - 0x1bc]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509780
mov eax, dword [ebp - 0x1bc]
call fcn.004ccb00
test al, al
je 0x5115e8
lea eax, [ebp - 0x1c0]
mov ecx, dword [ebp - 8]
mov edx, 0x512708
call fcn.004050b8
mov edx, dword [ebp - 0x1c0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cc3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d148
lea ecx, [ebp - 0x1c4]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509830
mov edx, dword [ebp - 0x1c4]
mov cl, 6
mov eax, dword [ebp - 4]
call fcn.0051db94
mov eax, dword [ebp - 4]
push dword [eax + 0xc3c]
push 0x512600
lea ecx, [ebp - 0x1c8]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509780
push dword [ebp - 0x1c8]
push 0x51260c
mov eax, dword [ebp - 4]
add eax, 0xc3c
mov edx, 4
call fcn.0040512c
jmp 0x511684
push 0x512708
mov eax, dword [ebp - 4]
push dword [eax + 0xc48]
push 0x5128ec
lea eax, [ebp - 0x1cc]
mov edx, 3
call fcn.0040512c
mov edx, dword [ebp - 0x1cc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cc3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d148
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc48]
lea eax, [ebp - 0x1d0]
mov ecx, 0x5128fc
call fcn.004050b8
mov edx, dword [ebp - 0x1d0]
mov cl, 6
mov eax, dword [ebp - 4]
call fcn.0051db94
mov eax, dword [ebp - 4]
push dword [eax + 0xc3c]
push 0x512600
mov eax, dword [ebp - 4]
push dword [eax + 0xc48]
push 0x512910
mov eax, dword [ebp - 4]
add eax, 0xc3c
mov edx, 4
call fcn.0040512c
mov eax, ebx
call fcn.00403fc4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x49c]
cmp byte [eax + 0x210], 0
je 0x5116a9
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
je 0x5116b9
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 1
jne 0x511a40
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x17
mov eax, dword [ebp - 4]
call fcn.0051f3e4
mov dl, 0x1b
mov eax, dword [ebp - 4]
call fcn.0051d5ac
mov dl, 1
mov eax, dword [0x4d0804]
call fcn.004d0960
mov ebx, eax
mov edx, 0x80000001
mov eax, ebx
call fcn.004d09f8
xor ecx, ecx
mov edx, 0x512924
mov eax, ebx
call fcn.004d0a60
test al, al
je 0x5117dd
lea ecx, [ebp - 8]
mov edx, 0x51295c
mov eax, ebx
call fcn.004d1068
cmp dword [ebp - 8], 0
je 0x511892
lea ecx, [ebp - 0x1d4]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509780
mov eax, dword [ebp - 0x1d4]
call fcn.004ccb00
test al, al
je 0x511892
lea eax, [ebp - 0x1d8]
mov ecx, dword [ebp - 8]
mov edx, 0x512708
call fcn.004050b8
mov edx, dword [ebp - 0x1d8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cc3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d148
lea ecx, [ebp - 0x1dc]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509830
mov edx, dword [ebp - 0x1dc]
mov cl, 6
mov eax, dword [ebp - 4]
call fcn.0051db94
mov eax, dword [ebp - 4]
push dword [eax + 0xc3c]
push 0x512600
lea ecx, [ebp - 0x1e0]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509780
push dword [ebp - 0x1e0]
push 0x51260c
mov eax, dword [ebp - 4]
add eax, 0xc3c
mov edx, 4
call fcn.0040512c
jmp 0x511892
xor ecx, ecx
mov edx, 0x512970
mov eax, ebx
call fcn.004d0a60
test al, al
je 0x511892
lea ecx, [ebp - 8]
mov edx, 0x5129a4
mov eax, ebx
call fcn.004d1068
cmp dword [ebp - 8], 0
je 0x511892
lea ecx, [ebp - 0x1e4]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509780
mov eax, dword [ebp - 0x1e4]
call fcn.004ccb00
test al, al
je 0x511892
lea eax, [ebp - 0x1e8]
mov ecx, dword [ebp - 8]
mov edx, 0x512708
call fcn.004050b8
mov edx, dword [ebp - 0x1e8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cc3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d148
lea ecx, [ebp - 0x1ec]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509830
lea eax, [ebp - 0x1ec]
mov edx, 0x5129c0
call fcn.00405074
mov edx, dword [ebp - 0x1ec]
mov cl, 6
mov eax, dword [ebp - 4]
call fcn.00520fac
mov eax, ebx
call fcn.00403fc4
mov dl, 1
mov eax, dword [0x4d0804]
call fcn.004d0960
mov ebx, eax
mov edx, 0x80000001
mov eax, ebx
call fcn.004d09f8
xor ecx, ecx
mov edx, 0x5126ac
mov eax, ebx
call fcn.004d0a60
test al, al
je 0x511a39
lea ecx, [ebp - 8]
mov edx, 0x5129d4
mov eax, ebx
call fcn.004d1068
cmp dword [ebp - 8], 0
je 0x51199d
lea ecx, [ebp - 0x1f0]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509780
mov eax, dword [ebp - 0x1f0]
call fcn.004ccb00
test al, al
je 0x51199d
lea eax, [ebp - 0x1f4]
mov ecx, dword [ebp - 8]
mov edx, 0x512708
call fcn.004050b8
mov edx, dword [ebp - 0x1f4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cc3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d148
lea ecx, [ebp - 0x1f8]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509830
mov edx, dword [ebp - 0x1f8]
mov cl, 6
mov eax, dword [ebp - 4]
call fcn.0051db94
mov eax, dword [ebp - 4]
push dword [eax + 0xc3c]
push 0x512600
lea ecx, [ebp - 0x1fc]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509780
push dword [ebp - 0x1fc]
push 0x51260c
mov eax, dword [ebp - 4]
add eax, 0xc3c
mov edx, 4
call fcn.0040512c
jmp 0x511a39
push 0x512708
mov eax, dword [ebp - 4]
push dword [eax + 0xc48]
push 0x5129d4
lea eax, [ebp - 0x200]
mov edx, 3
call fcn.0040512c
mov edx, dword [ebp - 0x200]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cc3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d148
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc48]
lea eax, [ebp - 0x204]
mov ecx, 0x5129e4
call fcn.004050b8
mov edx, dword [ebp - 0x204]
mov cl, 6
mov eax, dword [ebp - 4]
call fcn.0051db94
mov eax, dword [ebp - 4]
push dword [eax + 0xc3c]
push 0x512600
mov eax, dword [ebp - 4]
push dword [eax + 0xc48]
push 0x5129f8
mov eax, dword [ebp - 4]
add eax, 0xc3c
mov edx, 4
call fcn.0040512c
mov eax, ebx
call fcn.00403fc4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa88]
cmp byte [eax + 0x210], 0
je 0x511a9d
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
jne 0x511a9d
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x58
mov eax, dword [ebp - 4]
call fcn.0051f3e4
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc48]
lea eax, [ebp - 0x208]
mov ecx, 0x512a0c
call fcn.004050b8
mov edx, dword [ebp - 0x208]
mov cl, 0x12
mov eax, dword [ebp - 4]
call fcn.0051db94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa90]
cmp byte [eax + 0x210], 0
je 0x511afa
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
jne 0x511afa
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x59
mov eax, dword [ebp - 4]
call fcn.0051f3e4
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc48]
lea eax, [ebp - 0x20c]
mov ecx, 0x512a30
call fcn.004050b8
mov edx, dword [ebp - 0x20c]
mov cl, 0x12
mov eax, dword [ebp - 4]
call fcn.0051db94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa98]
cmp byte [eax + 0x210], 0
je 0x511b57
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
jne 0x511b57
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x5a
mov eax, dword [ebp - 4]
call fcn.0051f3e4
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc48]
lea eax, [ebp - 0x210]
mov ecx, 0x512a48
call fcn.004050b8
mov edx, dword [ebp - 0x210]
mov cl, 0x12
mov eax, dword [ebp - 4]
call fcn.0051db94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4a4]
cmp byte [eax + 0x210], 0
je 0x511ba4
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
jne 0x511ba4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x18
mov eax, dword [ebp - 4]
call fcn.0051f3e4
push ebp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4ac]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4a8]
call fcn.005106b4
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4b8]
cmp byte [eax + 0x210], 0
je 0x511bf1
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
jne 0x511bf1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x19
mov eax, dword [ebp - 4]
call fcn.0051f3e4
push ebp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4b0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4b4]
call fcn.005106b4
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4bc]
cmp byte [eax + 0x210], 0
je 0x511c3e
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
jne 0x511c3e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x1a
mov eax, dword [ebp - 4]
call fcn.0051f3e4
push ebp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4c4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c0]
call fcn.005106b4
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d0]
cmp byte [eax + 0x210], 0
je 0x511c8b
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
jne 0x511c8b
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x1b
mov eax, dword [ebp - 4]
call fcn.0051f3e4
push ebp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4c8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4cc]
call fcn.005106b4
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d4]
cmp byte [eax + 0x210], 0
je 0x511cd8
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
jne 0x511cd8
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x1c
mov eax, dword [ebp - 4]
call fcn.0051f3e4
push ebp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4dc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d8]
call fcn.005106b4
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4e8]
cmp byte [eax + 0x210], 0
je 0x511d25
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
jne 0x511d25
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x1d
mov eax, dword [ebp - 4]
call fcn.0051f3e4
push ebp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4e0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4e4]
call fcn.005106b4
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4ec]
cmp byte [eax + 0x210], 0
je 0x511d72
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
jne 0x511d72
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x1e
mov eax, dword [ebp - 4]
call fcn.0051f3e4
push ebp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4f4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4f0]
call fcn.005106b4
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x500]
cmp byte [eax + 0x210], 0
je 0x511dbf
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
jne 0x511dbf
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x1f
mov eax, dword [ebp - 4]
call fcn.0051f3e4
push ebp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4f8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4fc]
call fcn.005106b4
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x504]
cmp byte [eax + 0x210], 0
je 0x511e0c
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
jne 0x511e0c
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x20
mov eax, dword [ebp - 4]
call fcn.0051f3e4
push ebp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x50c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x508]
call fcn.005106b4
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x518]
cmp byte [eax + 0x210], 0
je 0x511e59
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
jne 0x511e59
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x21
mov eax, dword [ebp - 4]
call fcn.0051f3e4
push ebp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x510]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.005106b4
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x440]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x444]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44c]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x450]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x454]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x458]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x460]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x464]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x468]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x92c]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x470]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x474]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x478]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x47c]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x480]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x484]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x488]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4a4]
cmp byte [eax + 0x210], 0
je 0x512011
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4a8]
mov edx, dword [eax]
call dword [edx + 0xc8]
sub eax, 3
jb 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4b8]
cmp byte [eax + 0x210], 0
je 0x51203d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4b4]
mov edx, dword [eax]
call dword [edx + 0xc8]
sub eax, 3
jb 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4bc]
cmp byte [eax + 0x210], 0
je 0x512069
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c0]
mov edx, dword [eax]
call dword [edx + 0xc8]
sub eax, 3
jb 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d0]
cmp byte [eax + 0x210], 0
je 0x512095
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4cc]
mov edx, dword [eax]
call dword [edx + 0xc8]
sub eax, 3
jb 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d4]
cmp byte [eax + 0x210], 0
je 0x5120c1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d8]
mov edx, dword [eax]
call dword [edx + 0xc8]
sub eax, 3
jb 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4e8]
cmp byte [eax + 0x210], 0
je 0x5120ed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0xc8]
sub eax, 3
jb 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4ec]
cmp byte [eax + 0x210], 0
je 0x512119
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4f0]
mov edx, dword [eax]
call dword [edx + 0xc8]
sub eax, 3
jb 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x500]
cmp byte [eax + 0x210], 0
je 0x512145
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4fc]
mov edx, dword [eax]
call dword [edx + 0xc8]
sub eax, 3
jb 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x504]
cmp byte [eax + 0x210], 0
je 0x512171
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x508]
mov edx, dword [eax]
call dword [edx + 0xc8]
sub eax, 3
jb 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x518]
cmp byte [eax + 0x210], 0
je 0x51219d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xc8]
sub eax, 3
jb 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5d8]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e4]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e8]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5f4]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5f8]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x604]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x608]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x610]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x61c]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x620]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x934]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x938]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x62c]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x638]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x63c]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x648]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64c]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x658]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x65c]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x664]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x670]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x944]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x948]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94c]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x6a8]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x6b4]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x824]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x82c]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x834]
cmp byte [eax + 0x210], 0
jne 0x51240b
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc6d], 2
je 0x512415
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0051d5ac
mov eax, dword [ebp - 4]
mov al, byte [eax + 0xc6d]
cmp al, 2
je 0x512426
test al, al
jne 0x512438
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x818]
cmp byte [edx + 0x210], 0
jne 0x51243c
cmp al, 1
jne 0x512444
mov eax, dword [ebp - 4]
call fcn.0052ccfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51253c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5d0]
xor edx, edx
call fcn.0044cb2c
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc40], 0
jne 0x512477
mov eax, dword [ebp - 4]
mov byte [eax + 0xc41], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
mov edx, 0x512a5c
call fcn.0044cc3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d148
mov eax, dword [ebp - 4]
cmp dword [eax + 0xc2c], 0
jle 0x5124b0
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00531cf0
jmp 0x5124c6
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x318]
mov edx, 4
mov eax, dword [ebp - 4]
call fcn.00530ff4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x370]
mov dl, 1
call fcn.0045e938
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x888]
mov dl, 1
call fcn.0045e938
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x88c]
mov dl, 1
call fcn.0045e938
mov eax, dword [0x539444]
mov eax, dword [eax]
call fcn.0046c9d0
mov eax, dword [0x539690]
mov eax, dword [eax]
xor edx, edx
call fcn.0046af78
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0053468c
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc40], 0
je 0x512531
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
call fcn.00512b70
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51256e
lea eax, [ebp - 0x210]
mov edx, 0x41
call fcn.00404dd8
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.00404dd8
ret