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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x6f
push 0
push 0
dec ecx
jne 0x5106f0
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
lea eax, [ebp - 0x268]
mov edx, dword [0x4088b8]
call fcn.004057ec
xor eax, eax
push ebp
push 0x5125f5
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7e], 1
je 0x5125b9
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00534064
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x370]
xor edx, edx
call fcn.0045ea04
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x888]
xor edx, edx
call fcn.0045ea04
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x88c]
xor edx, edx
call fcn.0045ea04
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xc3c], edx
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00531a50
xor edx, edx
push ebp
push 0x5125af
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x539668]
mov eax, dword [eax]
mov dx, 0xfff5
call fcn.0046b08c
mov eax, dword [ebp - 4]
mov al, byte [eax + 0xc7d]
sub al, 1
jb 0x5107af
je 0x5107c4
dec al
je 0x5107d9
jmp 0x5107ee
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5d0]
mov edx, 0x51260c
call fcn.004b9af4
jmp 0x510801
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5d0]
mov edx, 0x512628
call fcn.004b9af4
jmp 0x510801
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5d0]
mov edx, 0x512648
call fcn.004b9af4
jmp 0x510801
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5d0]
mov edx, 0x512668
call fcn.004b9af4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5d0]
mov dl, 1
call fcn.0044cbf8
mov eax, dword [ebp - 4]
mov byte [eax + 0xc51], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xc38], edx
mov eax, dword [ebp - 4]
mov dword [eax + 0xc34], 0xffffffff
mov eax, dword [ebp - 4]
add eax, 0xc4c
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 0x5108ba
inc esi
xor ebx, ebx
mov eax, dword [ebp - 4]
push dword [eax + 0xc4c]
push 0x51268c
lea ecx, [ebp - 0x270]
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 - 0x270]
lea ecx, [ebp - 0x26c]
mov eax, dword [ebp - 4]
call fcn.00509470
push dword [ebp - 0x26c]
push 0x512698
mov eax, dword [ebp - 4]
add eax, 0xc4c
mov edx, 4
call fcn.0040512c
inc ebx
dec esi
jne 0x51085b
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7c], 3
jne 0x5108d8
mov eax, dword [ebp - 4]
add eax, 0xc4c
mov edx, 0x5126a4
call fcn.00405074
mov eax, dword [ebp - 4]
call fcn.005286d4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x318]
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00530ecc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
mov edx, 0x5126bc
call fcn.0044cd08
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d214
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48c]
cmp byte [eax + 0x210], 0
je 0x510935
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
je 0x510941
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
je 0x510961
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x13
mov eax, dword [ebp - 4]
call fcn.0051f76c
mov dl, 0x10
mov eax, dword [ebp - 4]
call fcn.0051d8f4
push pe_nt_image_headers32
lea eax, [ebp - 0x110]
push eax
push 0x5126fc
call sub.kernel32.dll_ExpandEnvironmentStringsA
mov ebx, eax
test ebx, ebx
je 0x510ad9
lea eax, [ebp - 0x278]
push eax
lea eax, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x280]
lea edx, [ebp - 0x110]
mov ecx, pe_nt_image_headers32
call fcn.0040501c
mov eax, dword [ebp - 0x280]
mov ecx, ebx
mov edx, 6
call fcn.004052c4
mov eax, dword [ebp - 0x27c]
mov ecx, 4
mov edx, 4
call fcn.004052c4
mov eax, dword [ebp - 0x278]
lea edx, [ebp - 0x274]
call fcn.00409544
mov eax, dword [ebp - 0x274]
mov edx, 0x512710
call fcn.004051b0
je 0x510ad9
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x284]
lea edx, [ebp - 0x110]
mov ecx, pe_nt_image_headers32
call fcn.0040501c
mov eax, dword [ebp - 0x284]
mov ecx, ebx
mov edx, 6
call fcn.004052c4
mov eax, dword [ebp - 4]
push dword [eax + 0xc4c]
push 0x51268c
lea ecx, [ebp - 0x288]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509470
push dword [ebp - 0x288]
push 0x512698
mov eax, dword [ebp - 4]
add eax, 0xc4c
mov edx, 4
call fcn.0040512c
lea ecx, [ebp - 0x28c]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509470
mov edx, dword [ebp - 0x28c]
lea ecx, [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.00534748
cmp dword [ebp - 0x10], 0
je 0x510ae1
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
call fcn.004051b0
je 0x510acc
mov eax, dword [ebp - 4]
push dword [eax + 0xc4c]
push 0x51268c
lea ecx, [ebp - 0x290]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.00509470
push dword [ebp - 0x290]
push 0x512698
mov eax, dword [ebp - 4]
add eax, 0xc4c
mov edx, 4
call fcn.0040512c
lea eax, [ebp - 0x268]
call fcn.0040a2b8
jmp 0x510ae1
lea eax, [ebp - 8]
call fcn.00404db4
push pe_nt_image_headers32
lea eax, [ebp - 0x110]
push eax
push 0x512718
call sub.kernel32.dll_ExpandEnvironmentStringsA
mov ebx, eax
test ebx, ebx
je 0x510c59
lea eax, [ebp - 0x298]
push eax
lea eax, [ebp - 0x29c]
push eax
lea eax, [ebp - 0x2a0]
lea edx, [ebp - 0x110]
mov ecx, pe_nt_image_headers32
call fcn.0040501c
mov eax, dword [ebp - 0x2a0]
mov ecx, ebx
mov edx, 6
call fcn.004052c4
mov eax, dword [ebp - 0x29c]
mov ecx, 4
mov edx, 4
call fcn.004052c4
mov eax, dword [ebp - 0x298]
lea edx, [ebp - 0x294]
call fcn.00409544
mov eax, dword [ebp - 0x294]
mov edx, 0x51272c
call fcn.004051b0
je 0x510c59
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x2a4]
lea edx, [ebp - 0x110]
mov ecx, pe_nt_image_headers32
call fcn.0040501c
mov eax, dword [ebp - 0x2a4]
mov ecx, ebx
mov edx, 5
call fcn.004052c4
mov eax, dword [ebp - 4]
push dword [eax + 0xc4c]
push 0x51268c
lea ecx, [ebp - 0x2a8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00509470
push dword [ebp - 0x2a8]
push 0x512698
mov eax, dword [ebp - 4]
add eax, 0xc4c
mov edx, 4
call fcn.0040512c
lea ecx, [ebp - 0x2ac]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00509470
mov edx, dword [ebp - 0x2ac]
lea ecx, [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.00534748
cmp dword [ebp - 0x10], 0
je 0x510c61
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
call fcn.004051b0
je 0x510c4c
mov eax, dword [ebp - 4]
push dword [eax + 0xc4c]
push 0x51268c
lea ecx, [ebp - 0x2b0]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.00509470
push dword [ebp - 0x2b0]
push 0x512698
mov eax, dword [ebp - 4]
add eax, 0xc4c
mov edx, 4
call fcn.0040512c
lea eax, [ebp - 0x268]
call fcn.0040a2b8
jmp 0x510c61
lea eax, [ebp - 0xc]
call fcn.00404db4
lea edx, [ebp - 0x2b4]
mov eax, dword [ebp - 0xc]
call fcn.00409544
mov eax, dword [ebp - 0x2b4]
push eax
lea edx, [ebp - 0x2b8]
mov eax, dword [ebp - 8]
call fcn.00409544
mov edx, dword [ebp - 0x2b8]
pop eax
call fcn.004051b0
jne 0x510c9a
lea eax, [ebp - 0xc]
call fcn.00404db4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x45c]
cmp byte [eax + 0x210], 0
je 0x510cb8
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
je 0x510cc4
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
je 0x510d2c
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 7
mov eax, dword [ebp - 4]
call fcn.0051f76c
cmp dword [ebp - 8], 0
je 0x510d03
lea ecx, [ebp - 0x2bc]
mov edx, dword [ebp - 8]
mov eax, dword [0x53af18]
call fcn.00509520
mov edx, dword [ebp - 0x2bc]
mov cl, 0x12
mov eax, dword [ebp - 4]
call fcn.0051dedc
cmp dword [ebp - 0xc], 0
je 0x510d2c
lea ecx, [ebp - 0x2c0]
mov edx, dword [ebp - 0xc]
mov eax, dword [0x53af18]
call fcn.00509520
mov edx, dword [ebp - 0x2c0]
mov cl, 0x12
mov eax, dword [ebp - 4]
call fcn.0051dedc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x490]
cmp byte [eax + 0x210], 0
je 0x510d4a
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
je 0x510d5a
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
je 0x510f27
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x14
mov eax, dword [ebp - 4]
call fcn.0051f76c
mov dl, 1
mov eax, dword [0x4d0960]
call fcn.004d0abc
mov ebx, eax
mov edx, 0x80000001
mov eax, ebx
call fcn.004d0b54
xor ecx, ecx
mov edx, 0x512738
mov eax, ebx
call fcn.004d0bbc
test al, al
je 0x510f20
lea ecx, [ebp - 8]
mov edx, 0x512784
mov eax, ebx
call fcn.004d11c4
cmp dword [ebp - 8], 0
je 0x510e84
lea ecx, [ebp - 0x2c4]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509470
mov eax, dword [ebp - 0x2c4]
call fcn.004ccc5c
test al, al
je 0x510e84
lea eax, [ebp - 0x2c8]
mov ecx, dword [ebp - 8]
mov edx, 0x512794
call fcn.004050b8
mov edx, dword [ebp - 0x2c8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cd08
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d214
lea ecx, [ebp - 0x2cc]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509520
lea eax, [ebp - 0x2cc]
mov edx, 0x5127b0
call fcn.00405074
mov edx, dword [ebp - 0x2cc]
mov cl, 0x14
mov eax, dword [ebp - 4]
call fcn.00521344
mov eax, dword [ebp - 4]
push dword [eax + 0xc4c]
push 0x51268c
lea ecx, [ebp - 0x2d0]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509470
push dword [ebp - 0x2d0]
push 0x512698
mov eax, dword [ebp - 4]
add eax, 0xc4c
mov edx, 4
call fcn.0040512c
jmp 0x510f20
push 0x512794
mov eax, dword [ebp - 4]
push dword [eax + 0xc58]
push 0x5127bc
lea eax, [ebp - 0x2d4]
mov edx, 3
call fcn.0040512c
mov edx, dword [ebp - 0x2d4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cd08
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d214
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc58]
lea eax, [ebp - 0x2d8]
mov ecx, 0x5127e0
call fcn.004050b8
mov edx, dword [ebp - 0x2d8]
mov cl, 0x14
mov eax, dword [ebp - 4]
call fcn.00521344
mov eax, dword [ebp - 4]
push dword [eax + 0xc4c]
push 0x51268c
mov eax, dword [ebp - 4]
push dword [eax + 0xc58]
push 0x5127f4
mov eax, dword [ebp - 4]
add eax, 0xc4c
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 0x510f45
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
je 0x510f51
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
je 0x510f90
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x42
mov eax, dword [ebp - 4]
call fcn.0051f76c
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc58]
lea eax, [ebp - 0x2dc]
mov ecx, 0x512808
call fcn.004050b8
mov edx, dword [ebp - 0x2dc]
mov cl, 0x12
mov eax, dword [ebp - 4]
call fcn.00521344
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x81c]
cmp byte [eax + 0x210], 0
je 0x510fae
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
je 0x510fba
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 0
jne 0x510fdf
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x43
mov eax, dword [ebp - 4]
call fcn.0051f76c
mov cl, 0x12
mov edx, 0x512828
mov eax, dword [ebp - 4]
call fcn.00521344
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x83c]
cmp byte [eax + 0x210], 0
je 0x510ffd
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
je 0x511009
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 0
jne 0x511029
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x47
mov eax, dword [ebp - 4]
call fcn.0051f76c
mov dl, 0x16
mov eax, dword [ebp - 4]
call fcn.0051d8f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x494]
cmp byte [eax + 0x210], 0
je 0x511047
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
je 0x511057
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
je 0x511324
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x15
mov eax, dword [ebp - 4]
call fcn.0051f76c
mov dl, 0x19
mov eax, dword [ebp - 4]
call fcn.0051d8f4
mov dl, 1
mov eax, dword [0x4d0960]
call fcn.004d0abc
mov ebx, eax
mov edx, 0x80000001
mov eax, ebx
call fcn.004d0b54
xor ecx, ecx
mov edx, 0x51284c
mov eax, ebx
call fcn.004d0bbc
test al, al
je 0x511176
lea ecx, [ebp - 8]
mov edx, 0x512880
mov eax, ebx
call fcn.004d11c4
cmp dword [ebp - 8], 0
je 0x511176
lea ecx, [ebp - 0x2e0]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509470
mov eax, dword [ebp - 0x2e0]
call fcn.004ccc5c
test al, al
je 0x511176
lea eax, [ebp - 0x2e4]
mov ecx, dword [ebp - 8]
mov edx, 0x512794
call fcn.004050b8
mov edx, dword [ebp - 0x2e4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cd08
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d214
lea ecx, [ebp - 0x2e8]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509520
mov edx, dword [ebp - 0x2e8]
mov cl, 6
mov eax, dword [ebp - 4]
call fcn.0051dedc
mov eax, dword [ebp - 4]
push dword [eax + 0xc4c]
push 0x51268c
lea ecx, [ebp - 0x2ec]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509470
push dword [ebp - 0x2ec]
push 0x512698
mov eax, dword [ebp - 4]
add eax, 0xc4c
mov edx, 4
call fcn.0040512c
mov eax, ebx
call fcn.00403fc4
mov dl, 1
mov eax, dword [0x4d0960]
call fcn.004d0abc
mov ebx, eax
mov edx, 0x80000001
mov eax, ebx
call fcn.004d0b54
xor ecx, ecx
mov edx, 0x512738
mov eax, ebx
call fcn.004d0bbc
test al, al
je 0x51131d
lea ecx, [ebp - 8]
mov edx, 0x512894
mov eax, ebx
call fcn.004d11c4
cmp dword [ebp - 8], 0
je 0x511281
lea ecx, [ebp - 0x2f0]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509470
mov eax, dword [ebp - 0x2f0]
call fcn.004ccc5c
test al, al
je 0x511281
lea eax, [ebp - 0x2f4]
mov ecx, dword [ebp - 8]
mov edx, 0x512794
call fcn.004050b8
mov edx, dword [ebp - 0x2f4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cd08
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d214
lea ecx, [ebp - 0x2f8]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509520
mov edx, dword [ebp - 0x2f8]
mov cl, 6
mov eax, dword [ebp - 4]
call fcn.0051dedc
mov eax, dword [ebp - 4]
push dword [eax + 0xc4c]
push 0x51268c
lea ecx, [ebp - 0x2fc]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509470
push dword [ebp - 0x2fc]
push 0x512698
mov eax, dword [ebp - 4]
add eax, 0xc4c
mov edx, 4
call fcn.0040512c
jmp 0x51131d
push 0x512794
mov eax, dword [ebp - 4]
push dword [eax + 0xc58]
push 0x5127bc
lea eax, [ebp - 0x300]
mov edx, 3
call fcn.0040512c
mov edx, dword [ebp - 0x300]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cd08
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d214
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc58]
lea eax, [ebp - 0x304]
mov ecx, 0x5128a4
call fcn.004050b8
mov edx, dword [ebp - 0x304]
mov cl, 6
mov eax, dword [ebp - 4]
call fcn.0051dedc
mov eax, dword [ebp - 4]
push dword [eax + 0xc4c]
push 0x51268c
mov eax, dword [ebp - 4]
push dword [eax + 0xc58]
push 0x5128c8
mov eax, dword [ebp - 4]
add eax, 0xc4c
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 0x511342
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
je 0x511352
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 1
jne 0x511709
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x16
mov eax, dword [ebp - 4]
call fcn.0051f76c
mov dl, 0x1a
mov eax, dword [ebp - 4]
call fcn.0051d8f4
mov dl, 1
mov eax, dword [0x4d0960]
call fcn.004d0abc
mov ebx, eax
mov edx, 0x80000001
mov eax, ebx
call fcn.004d0b54
xor ecx, ecx
mov edx, 0x5128ec
mov eax, ebx
call fcn.004d0bbc
test al, al
je 0x511476
lea ecx, [ebp - 8]
mov edx, 0x512880
mov eax, ebx
call fcn.004d11c4
cmp dword [ebp - 8], 0
je 0x51155b
lea ecx, [ebp - 0x308]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509470
mov eax, dword [ebp - 0x308]
call fcn.004ccc5c
test al, al
je 0x51155b
lea eax, [ebp - 0x30c]
mov ecx, dword [ebp - 8]
mov edx, 0x512794
call fcn.004050b8
mov edx, dword [ebp - 0x30c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cd08
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d214
lea ecx, [ebp - 0x310]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509520
mov edx, dword [ebp - 0x310]
mov cl, 6
mov eax, dword [ebp - 4]
call fcn.0051dedc
mov eax, dword [ebp - 4]
push dword [eax + 0xc4c]
push 0x51268c
lea ecx, [ebp - 0x314]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509470
push dword [ebp - 0x314]
push 0x512698
mov eax, dword [ebp - 4]
add eax, 0xc4c
mov edx, 4
call fcn.0040512c
jmp 0x51155b
xor ecx, ecx
mov edx, 0x512928
mov eax, ebx
call fcn.004d0bbc
test al, al
je 0x51155b
lea ecx, [ebp - 8]
mov edx, 0x512960
mov eax, ebx
call fcn.004d11c4
cmp dword [ebp - 8], 0
je 0x51155b
lea ecx, [ebp - 0x318]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509470
mov eax, dword [ebp - 0x318]
call fcn.004ccc5c
test al, al
je 0x51155b
lea eax, [ebp - 0x31c]
mov ecx, dword [ebp - 8]
mov edx, 0x512794
call fcn.004050b8
mov edx, dword [ebp - 0x31c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cd08
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d214
lea ecx, [ebp - 0x320]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509520
mov edx, dword [ebp - 0x320]
mov cl, 6
mov eax, dword [ebp - 4]
call fcn.0051dedc
mov eax, dword [ebp - 4]
push dword [eax + 0xc4c]
push 0x51268c
lea ecx, [ebp - 0x324]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509470
push dword [ebp - 0x324]
push 0x512698
mov eax, dword [ebp - 4]
add eax, 0xc4c
mov edx, 4
call fcn.0040512c
mov eax, ebx
call fcn.00403fc4
mov dl, 1
mov eax, dword [0x4d0960]
call fcn.004d0abc
mov ebx, eax
mov edx, 0x80000001
mov eax, ebx
call fcn.004d0b54
xor ecx, ecx
mov edx, 0x512738
mov eax, ebx
call fcn.004d0bbc
test al, al
je 0x511702
lea ecx, [ebp - 8]
mov edx, 0x512978
mov eax, ebx
call fcn.004d11c4
cmp dword [ebp - 8], 0
je 0x511666
lea ecx, [ebp - 0x328]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509470
mov eax, dword [ebp - 0x328]
call fcn.004ccc5c
test al, al
je 0x511666
lea eax, [ebp - 0x32c]
mov ecx, dword [ebp - 8]
mov edx, 0x512794
call fcn.004050b8
mov edx, dword [ebp - 0x32c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cd08
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d214
lea ecx, [ebp - 0x330]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509520
mov edx, dword [ebp - 0x330]
mov cl, 6
mov eax, dword [ebp - 4]
call fcn.0051dedc
mov eax, dword [ebp - 4]
push dword [eax + 0xc4c]
push 0x51268c
lea ecx, [ebp - 0x334]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509470
push dword [ebp - 0x334]
push 0x512698
mov eax, dword [ebp - 4]
add eax, 0xc4c
mov edx, 4
call fcn.0040512c
jmp 0x511702
push 0x512794
mov eax, dword [ebp - 4]
push dword [eax + 0xc58]
push 0x512978
lea eax, [ebp - 0x338]
mov edx, 3
call fcn.0040512c
mov edx, dword [ebp - 0x338]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cd08
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d214
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc58]
lea eax, [ebp - 0x33c]
mov ecx, 0x512988
call fcn.004050b8
mov edx, dword [ebp - 0x33c]
mov cl, 6
mov eax, dword [ebp - 4]
call fcn.0051dedc
mov eax, dword [ebp - 4]
push dword [eax + 0xc4c]
push 0x51268c
mov eax, dword [ebp - 4]
push dword [eax + 0xc58]
push 0x51299c
mov eax, dword [ebp - 4]
add eax, 0xc4c
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 0x511727
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
je 0x511737
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 1
jne 0x511abe
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x17
mov eax, dword [ebp - 4]
call fcn.0051f76c
mov dl, 0x1b
mov eax, dword [ebp - 4]
call fcn.0051d8f4
mov dl, 1
mov eax, dword [0x4d0960]
call fcn.004d0abc
mov ebx, eax
mov edx, 0x80000001
mov eax, ebx
call fcn.004d0b54
xor ecx, ecx
mov edx, 0x5129b0
mov eax, ebx
call fcn.004d0bbc
test al, al
je 0x51185b
lea ecx, [ebp - 8]
mov edx, 0x5129e8
mov eax, ebx
call fcn.004d11c4
cmp dword [ebp - 8], 0
je 0x511910
lea ecx, [ebp - 0x340]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509470
mov eax, dword [ebp - 0x340]
call fcn.004ccc5c
test al, al
je 0x511910
lea eax, [ebp - 0x344]
mov ecx, dword [ebp - 8]
mov edx, 0x512794
call fcn.004050b8
mov edx, dword [ebp - 0x344]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cd08
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d214
lea ecx, [ebp - 0x348]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509520
mov edx, dword [ebp - 0x348]
mov cl, 6
mov eax, dword [ebp - 4]
call fcn.0051dedc
mov eax, dword [ebp - 4]
push dword [eax + 0xc4c]
push 0x51268c
lea ecx, [ebp - 0x34c]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509470
push dword [ebp - 0x34c]
push 0x512698
mov eax, dword [ebp - 4]
add eax, 0xc4c
mov edx, 4
call fcn.0040512c
jmp 0x511910
xor ecx, ecx
mov edx, 0x5129fc
mov eax, ebx
call fcn.004d0bbc
test al, al
je 0x511910
lea ecx, [ebp - 8]
mov edx, 0x512a30
mov eax, ebx
call fcn.004d11c4
cmp dword [ebp - 8], 0
je 0x511910
lea ecx, [ebp - 0x350]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509470
mov eax, dword [ebp - 0x350]
call fcn.004ccc5c
test al, al
je 0x511910
lea eax, [ebp - 0x354]
mov ecx, dword [ebp - 8]
mov edx, 0x512794
call fcn.004050b8
mov edx, dword [ebp - 0x354]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cd08
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d214
lea ecx, [ebp - 0x358]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509520
lea eax, [ebp - 0x358]
mov edx, 0x512a4c
call fcn.00405074
mov edx, dword [ebp - 0x358]
mov cl, 6
mov eax, dword [ebp - 4]
call fcn.00521344
mov eax, ebx
call fcn.00403fc4
mov dl, 1
mov eax, dword [0x4d0960]
call fcn.004d0abc
mov ebx, eax
mov edx, 0x80000001
mov eax, ebx
call fcn.004d0b54
xor ecx, ecx
mov edx, 0x512738
mov eax, ebx
call fcn.004d0bbc
test al, al
je 0x511ab7
lea ecx, [ebp - 8]
mov edx, 0x512a60
mov eax, ebx
call fcn.004d11c4
cmp dword [ebp - 8], 0
je 0x511a1b
lea ecx, [ebp - 0x35c]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509470
mov eax, dword [ebp - 0x35c]
call fcn.004ccc5c
test al, al
je 0x511a1b
lea eax, [ebp - 0x360]
mov ecx, dword [ebp - 8]
mov edx, 0x512794
call fcn.004050b8
mov edx, dword [ebp - 0x360]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cd08
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d214
lea ecx, [ebp - 0x364]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509520
mov edx, dword [ebp - 0x364]
mov cl, 6
mov eax, dword [ebp - 4]
call fcn.0051dedc
mov eax, dword [ebp - 4]
push dword [eax + 0xc4c]
push 0x51268c
lea ecx, [ebp - 0x368]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00509470
push dword [ebp - 0x368]
push 0x512698
mov eax, dword [ebp - 4]
add eax, 0xc4c
mov edx, 4
call fcn.0040512c
jmp 0x511ab7
push 0x512794
mov eax, dword [ebp - 4]
push dword [eax + 0xc58]
push 0x512a60
lea eax, [ebp - 0x36c]
mov edx, 3
call fcn.0040512c
mov edx, dword [ebp - 0x36c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044cd08
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d214
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc58]
lea eax, [ebp - 0x370]
mov ecx, 0x512a70
call fcn.004050b8
mov edx, dword [ebp - 0x370]
mov cl, 6
mov eax, dword [ebp - 4]
call fcn.0051dedc
mov eax, dword [ebp - 4]
push dword [eax + 0xc4c]
push 0x51268c
mov eax, dword [ebp - 4]
push dword [eax + 0xc58]
push 0x512a84
mov eax, dword [ebp - 4]
add eax, 0xc4c
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 0x511b1b
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
jne 0x511b1b
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x58
mov eax, dword [ebp - 4]
call fcn.0051f76c
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc58]
lea eax, [ebp - 0x374]
mov ecx, 0x512a98
call fcn.004050b8
mov edx, dword [ebp - 0x374]
mov cl, 0x12
mov eax, dword [ebp - 4]
call fcn.0051dedc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa90]
cmp byte [eax + 0x210], 0
je 0x511b78
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
jne 0x511b78
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x59
mov eax, dword [ebp - 4]
call fcn.0051f76c
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc58]
lea eax, [ebp - 0x378]
mov ecx, 0x512abc
call fcn.004050b8
mov edx, dword [ebp - 0x378]
mov cl, 0x12
mov eax, dword [ebp - 4]
call fcn.0051dedc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa98]
cmp byte [eax + 0x210], 0
je 0x511bd5
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
jne 0x511bd5
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x5a
mov eax, dword [ebp - 4]
call fcn.0051f76c
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0xc58]
lea eax, [ebp - 0x37c]
mov ecx, 0x512ad4
call fcn.004050b8
mov edx, dword [ebp - 0x37c]
mov cl, 0x12
mov eax, dword [ebp - 4]
call fcn.0051dedc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4a4]
cmp byte [eax + 0x210], 0
je 0x511c22
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
jne 0x511c22
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x18
mov eax, dword [ebp - 4]
call fcn.0051f76c
push ebp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4ac]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4a8]
call fcn.00510620
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4b8]
cmp byte [eax + 0x210], 0
je 0x511c6f
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
jne 0x511c6f
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x19
mov eax, dword [ebp - 4]
call fcn.0051f76c
push ebp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4b0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4b4]
call fcn.00510620
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4bc]
cmp byte [eax + 0x210], 0
je 0x511cbc
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
jne 0x511cbc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x1a
mov eax, dword [ebp - 4]
call fcn.0051f76c
push ebp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4c4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c0]
call fcn.00510620
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d0]
cmp byte [eax + 0x210], 0
je 0x511d09
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
jne 0x511d09
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x1b
mov eax, dword [ebp - 4]
call fcn.0051f76c
push ebp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4c8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4cc]
call fcn.00510620
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d4]
cmp byte [eax + 0x210], 0
je 0x511d56
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
jne 0x511d56
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x1c
mov eax, dword [ebp - 4]
call fcn.0051f76c
push ebp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4dc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d8]
call fcn.00510620
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4e8]
cmp byte [eax + 0x210], 0
je 0x511da3
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
jne 0x511da3
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x1d
mov eax, dword [ebp - 4]
call fcn.0051f76c
push ebp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4e0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4e4]
call fcn.00510620
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4ec]
cmp byte [eax + 0x210], 0
je 0x511df0
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
jne 0x511df0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x1e
mov eax, dword [ebp - 4]
call fcn.0051f76c
push ebp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4f4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4f0]
call fcn.00510620
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x500]
cmp byte [eax + 0x210], 0
je 0x511e3d
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
jne 0x511e3d
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x1f
mov eax, dword [ebp - 4]
call fcn.0051f76c
push ebp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4f8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4fc]
call fcn.00510620
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x504]
cmp byte [eax + 0x210], 0
je 0x511e8a
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
jne 0x511e8a
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x20
mov eax, dword [ebp - 4]
call fcn.0051f76c
push ebp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x50c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x508]
call fcn.00510620
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x518]
cmp byte [eax + 0x210], 0
je 0x511ed7
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
jne 0x511ed7
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x344]
mov edx, 0x21
mov eax, dword [ebp - 4]
call fcn.0051f76c
push ebp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x510]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00510620
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x440]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x444]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44c]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x450]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x454]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x458]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x460]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x464]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x468]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x92c]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x470]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x474]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x478]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x47c]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x480]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x484]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x488]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4a4]
cmp byte [eax + 0x210], 0
je 0x51208f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4a8]
mov edx, dword [eax]
call dword [edx + 0xc8]
sub eax, 3
jb 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4b8]
cmp byte [eax + 0x210], 0
je 0x5120bb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4b4]
mov edx, dword [eax]
call dword [edx + 0xc8]
sub eax, 3
jb 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4bc]
cmp byte [eax + 0x210], 0
je 0x5120e7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c0]
mov edx, dword [eax]
call dword [edx + 0xc8]
sub eax, 3
jb 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d0]
cmp byte [eax + 0x210], 0
je 0x512113
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4cc]
mov edx, dword [eax]
call dword [edx + 0xc8]
sub eax, 3
jb 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d4]
cmp byte [eax + 0x210], 0
je 0x51213f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d8]
mov edx, dword [eax]
call dword [edx + 0xc8]
sub eax, 3
jb 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4e8]
cmp byte [eax + 0x210], 0
je 0x51216b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0xc8]
sub eax, 3
jb 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4ec]
cmp byte [eax + 0x210], 0
je 0x512197
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4f0]
mov edx, dword [eax]
call dword [edx + 0xc8]
sub eax, 3
jb 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x500]
cmp byte [eax + 0x210], 0
je 0x5121c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4fc]
mov edx, dword [eax]
call dword [edx + 0xc8]
sub eax, 3
jb 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x504]
cmp byte [eax + 0x210], 0
je 0x5121ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x508]
mov edx, dword [eax]
call dword [edx + 0xc8]
sub eax, 3
jb 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x518]
cmp byte [eax + 0x210], 0
je 0x51221b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xc8]
sub eax, 3
jb 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5d8]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e4]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e8]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5f4]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5f8]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x604]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x608]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x610]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x61c]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x620]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x934]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x938]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x62c]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x638]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x63c]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x648]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64c]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x658]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x65c]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x664]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x670]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x944]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x948]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94c]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x6a8]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x6b4]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x824]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x82c]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xbd0]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x834]
cmp byte [eax + 0x210], 0
jne 0x51249f
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc7d], 2
je 0x5124a9
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0051d8f4
mov eax, dword [ebp - 4]
mov al, byte [eax + 0xc7d]
cmp al, 2
je 0x5124ba
test al, al
jne 0x5124cc
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x818]
cmp byte [edx + 0x210], 0
jne 0x5124d0
cmp al, 1
jne 0x5124d8
mov eax, dword [ebp - 4]
call fcn.0052c9e8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5125b9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5d0]
xor edx, edx
call fcn.0044cbf8
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc50], 0
jne 0x51250b
mov eax, dword [ebp - 4]
mov byte [eax + 0xc51], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
mov edx, 0x512ae8
call fcn.0044cd08
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.0044d214
mov eax, dword [ebp - 4]
cmp dword [eax + 0xc3c], 0
jle 0x512544
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00531a50
jmp 0x51255a
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x318]
mov edx, 4
mov eax, dword [ebp - 4]
call fcn.00530ecc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x370]
mov dl, 1
call fcn.0045ea04
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x888]
mov dl, 1
call fcn.0045ea04
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x88c]
mov dl, 1
call fcn.0045ea04
mov eax, dword [0x539418]
mov eax, dword [eax]
call fcn.0046cb2c
mov eax, dword [0x539668]
mov eax, dword [eax]
xor edx, edx
call fcn.0046b08c
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00534064
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5125fc
lea eax, [ebp - 0x37c]
mov edx, 0x45
call fcn.00404dd8
lea eax, [ebp - 0x268]
mov edx, dword [0x4088b8]
call fcn.004058bc
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00404dd8
ret