Function at 0x404480
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
push edi
push ebx
lea eax, [ebp - 8]
sub esp, 0x1d0
mov dword [ebp - 0x15c], eax
lea eax, [ebp - 0x17c]
mov dword [esp], eax
mov dword [ebp - 0x164], 0x41e9c0
mov dword [ebp - 0x160], 0x41f06c
mov dword [ebp - 0x158], 0x4065c9
mov dword [ebp - 0x154], esp
call fcn.0041a840
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov dword [esp + 4], str.___HWSIG
mov dword [esp], eax
mov dword [ebp - 0x178], 0xffffffff
call fcn.00402d50
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [edx + 4]
mov dword [ebp - 0x178], 0xf
mov dword [esp], eax
call fcn.004026e0
test eax, eax
je 0x40635e
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x14], 0
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004029c0
mov eax, dword [0x428010]
mov dword [esp + 4], str._02X
mov dword [ebp - 0x178], 5
mov dword [esp + 8], eax
lea eax, [ebp - 0x18]
mov dword [esp], eax
call fcn.00402bf0
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x4065a0
cmp byte [eax], 0
je 0x4065a0
lea eax, [ebp - 0x70]
mov dword [ebp - 0x70], 1
mov dword [ebp - 0x6c], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 0xe
call fcn.004029c0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xd8], 0x67452301
mov dword [ebp - 0x194], eax
mov dword [ebp - 0xd4], 0xefcdab89
mov dword [ebp - 0xd0], 0x98badcfe
mov dword [ebp - 0xcc], 0x10325476
mov dword [esp], eax
mov dword [ebp - 0x178], 0xd
call sub.KERNEL32.dll_lstrlenA
mov edx, dword [ebp - 0xc8]
sub esp, 4
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp - 0x18c]
mov eax, edx
shl ecx, 3
shr eax, 3
lea edx, [ecx + edx]
and eax, 0x3f
cmp ecx, edx
mov dword [ebp - 0xc8], edx
ja 0x406382
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0x184], 0x40
sub dword [ebp - 0x184], eax
shr edx, 0x1d
lea edx, [ecx + edx]
mov dword [ebp - 0xc4], edx
mov edx, dword [ebp - 0x184]
cmp dword [ebp - 0x18c], edx
jae 0x406517
mov dword [ebp - 0x184], 0
mov ecx, dword [ebp - 0x18c]
lea eax, [ebp + eax - 0xc0]
mov edx, dword [ebp - 0x194]
sub ecx, dword [ebp - 0x184]
add edx, dword [ebp - 0x184]
mov dword [esp], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
call fcn.00404150
mov edx, dword [ebp - 0xc8]
mov eax, edx
shr eax, 8
mov byte [ebp - 0x5f], al
mov eax, edx
shr eax, 0x10
mov byte [ebp - 0x5e], al
mov eax, edx
shr eax, 0x18
mov byte [ebp - 0x5d], al
mov eax, dword [ebp - 0xc4]
mov byte [ebp - 0x60], dl
mov ecx, eax
shr ecx, 8
mov byte [ebp - 0x5c], al
mov byte [ebp - 0x5b], cl
mov ecx, eax
shr eax, 0x18
mov byte [ebp - 0x59], al
mov eax, edx
shr eax, 3
and eax, 0x3f
shr ecx, 0x10
cmp eax, 0x37
mov byte [ebp - 0x5a], cl
ja 0x4063f0
mov dword [ebp - 0x1a4], 0x38
sub dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0x1a4]
shl ecx, 3
lea edx, [ecx + edx]
cmp ecx, edx
mov dword [ebp - 0xc8], edx
ja 0x4063e0
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0x19c], 0x40
sub dword [ebp - 0x19c], eax
mov dword [ebp - 0xc4], edx
mov edx, dword [ebp - 0x19c]
cmp dword [ebp - 0x1a4], edx
jae 0x406405
mov edx, section..data
mov dword [ebp - 0x19c], 0
mov ecx, dword [ebp - 0x1a4]
lea eax, [ebp + eax - 0xc0]
sub ecx, dword [ebp - 0x19c]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 8], ecx
call fcn.00404150
mov edx, dword [ebp - 0xc8]
mov eax, edx
add edx, 0x40
shr eax, 3
and eax, 0x3f
cmp edx, 0x3f
mov dword [ebp - 0xc8], edx
jbe 0x4063d1
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0x1ac], 0x40
lea ecx, [ebp - 0x60]
sub dword [ebp - 0x1ac], eax
cmp dword [ebp - 0x1ac], 8
mov dword [ebp - 0xc4], edx
mov edx, 8
ja 0x40480e
mov edx, dword [ebp - 0x1ac]
lea eax, [ebp + eax - 0xc0]
lea ebx, [ebp - 0x60]
mov dword [esp + 4], ebx
mov dword [esp], eax
mov dword [esp + 8], edx
call fcn.00404150
lea eax, [ebp - 0xc0]
mov dword [esp + 4], eax
lea eax, [ebp - 0xd8]
mov dword [esp], eax
call fcn.0041bce0
mov ecx, dword [ebp - 0x1ac]
mov edx, 8
sub edx, dword [ebp - 0x1ac]
xor eax, eax
add ecx, ebx
lea ebx, [ebp - 0xd8]
lea eax, [ebp + eax - 0xc0]
mov edi, ebx
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [ebp - 0x1bc], ebx
mov dword [esp], eax
call fcn.00404150
mov eax, dword [ebp - 0xd8]
mov ecx, 0x16
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x54], 0
mov edx, eax
shr edx, 8
mov byte [ebp - 0x80], al
mov byte [ebp - 0x7f], dl
mov edx, eax
shr eax, 0x18
mov byte [ebp - 0x7d], al
mov eax, dword [ebp - 0xd4]
shr edx, 0x10
mov byte [ebp - 0x7e], dl
mov edx, eax
shr edx, 8
mov byte [ebp - 0x7c], al
mov byte [ebp - 0x7b], dl
mov edx, eax
shr eax, 0x18
mov byte [ebp - 0x79], al
mov eax, dword [ebp - 0xd0]
shr edx, 0x10
mov byte [ebp - 0x7a], dl
mov edx, eax
shr edx, 8
mov byte [ebp - 0x78], al
mov byte [ebp - 0x77], dl
mov edx, eax
shr eax, 0x18
mov byte [ebp - 0x75], al
mov eax, dword [ebp - 0xcc]
shr edx, 0x10
mov byte [ebp - 0x76], dl
mov edx, eax
shr edx, 8
mov byte [ebp - 0x74], al
mov byte [ebp - 0x73], dl
mov edx, eax
shr eax, 0x18
mov byte [ebp - 0x71], al
xor eax, eax
rep stosd dword es:[edi], eax
shr edx, 0x10
lea eax, [ebp - 0x58]
mov byte [ebp - 0x72], dl
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 0xd
call fcn.004029c0
movzx eax, byte [ebp - 0x80]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 4
mov dword [esp + 8], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x58]
lea eax, [ebp - 0x50]
mov dword [esp + 8], edx
lea edx, [ebp - 0x70]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [ebp - 0x178], 3
mov dword [esp + 4], eax
lea eax, [ebp - 0x70]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x40494f
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x40495e
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x54], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 0xd
call fcn.004029c0
movzx eax, byte [ebp - 0x7f]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 4
mov dword [esp + 8], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x58]
lea eax, [ebp - 0x50]
mov dword [esp + 8], edx
lea edx, [ebp - 0x70]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [ebp - 0x178], 3
mov dword [esp + 4], eax
lea eax, [ebp - 0x70]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x4049f5
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x404a04
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x54], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 0xd
call fcn.004029c0
movzx eax, byte [ebp - 0x7e]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 4
mov dword [esp + 8], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x58]
lea eax, [ebp - 0x50]
mov dword [esp + 8], edx
lea edx, [ebp - 0x70]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [ebp - 0x178], 3
mov dword [esp + 4], eax
lea eax, [ebp - 0x70]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x404a9b
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x404aaa
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x54], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 0xd
call fcn.004029c0
movzx eax, byte [ebp - 0x7d]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 4
mov dword [esp + 8], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x58]
lea eax, [ebp - 0x50]
mov dword [esp + 8], edx
lea edx, [ebp - 0x70]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [ebp - 0x178], 3
mov dword [esp + 4], eax
lea eax, [ebp - 0x70]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x404b41
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x404b50
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x54], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 0xd
call fcn.004029c0
movzx eax, byte [ebp - 0x7c]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 4
mov dword [esp + 8], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x58]
lea eax, [ebp - 0x50]
mov dword [esp + 8], edx
lea edx, [ebp - 0x70]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [ebp - 0x178], 3
mov dword [esp + 4], eax
lea eax, [ebp - 0x70]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x404be7
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x404bf6
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x54], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 0xd
call fcn.004029c0
movzx eax, byte [ebp - 0x7b]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 4
mov dword [esp + 8], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x58]
lea eax, [ebp - 0x50]
mov dword [esp + 8], edx
lea edx, [ebp - 0x70]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [ebp - 0x178], 3
mov dword [esp + 4], eax
lea eax, [ebp - 0x70]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x404c8d
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x404c9c
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x54], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 0xd
call fcn.004029c0
movzx eax, byte [ebp - 0x7a]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 4
mov dword [esp + 8], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x58]
lea eax, [ebp - 0x50]
mov dword [esp + 8], edx
lea edx, [ebp - 0x70]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [ebp - 0x178], 3
mov dword [esp + 4], eax
lea eax, [ebp - 0x70]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x404d33
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x404d42
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x54], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 0xd
call fcn.004029c0
movzx eax, byte [ebp - 0x79]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 4
mov dword [esp + 8], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x58]
lea eax, [ebp - 0x50]
mov dword [esp + 8], edx
lea edx, [ebp - 0x70]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [ebp - 0x178], 3
mov dword [esp + 4], eax
lea eax, [ebp - 0x70]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x404dd9
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x404de8
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x54], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 0xd
call fcn.004029c0
movzx eax, byte [ebp - 0x78]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 4
mov dword [esp + 8], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x58]
lea eax, [ebp - 0x50]
mov dword [esp + 8], edx
lea edx, [ebp - 0x70]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [ebp - 0x178], 3
mov dword [esp + 4], eax
lea eax, [ebp - 0x70]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x404e7f
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x404e8e
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x54], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 0xd
call fcn.004029c0
movzx eax, byte [ebp - 0x77]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 4
mov dword [esp + 8], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x58]
lea eax, [ebp - 0x50]
mov dword [esp + 8], edx
lea edx, [ebp - 0x70]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [ebp - 0x178], 3
mov dword [esp + 4], eax
lea eax, [ebp - 0x70]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x404f25
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x404f34
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x54], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 0xd
call fcn.004029c0
movzx eax, byte [ebp - 0x76]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 4
mov dword [esp + 8], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x58]
lea eax, [ebp - 0x50]
mov dword [esp + 8], edx
lea edx, [ebp - 0x70]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [ebp - 0x178], 3
mov dword [esp + 4], eax
lea eax, [ebp - 0x70]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x404fcb
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x404fda
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x54], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 0xd
call fcn.004029c0
movzx eax, byte [ebp - 0x75]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 4
mov dword [esp + 8], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x58]
lea eax, [ebp - 0x50]
mov dword [esp + 8], edx
lea edx, [ebp - 0x70]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [ebp - 0x178], 3
mov dword [esp + 4], eax
lea eax, [ebp - 0x70]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x405071
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x405080
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x54], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 0xd
call fcn.004029c0
movzx eax, byte [ebp - 0x74]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 4
mov dword [esp + 8], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x58]
lea eax, [ebp - 0x50]
mov dword [esp + 8], edx
lea edx, [ebp - 0x70]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [ebp - 0x178], 3
mov dword [esp + 4], eax
lea eax, [ebp - 0x70]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x405117
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x405126
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x54], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 0xd
call fcn.004029c0
movzx eax, byte [ebp - 0x73]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 4
mov dword [esp + 8], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x58]
lea eax, [ebp - 0x50]
mov dword [esp + 8], edx
lea edx, [ebp - 0x70]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [ebp - 0x178], 3
mov dword [esp + 4], eax
lea eax, [ebp - 0x70]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x4051bd
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x4051cc
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x54], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 0xd
call fcn.004029c0
movzx eax, byte [ebp - 0x72]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 4
mov dword [esp + 8], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x58]
lea eax, [ebp - 0x50]
mov dword [esp + 8], edx
lea edx, [ebp - 0x70]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [ebp - 0x178], 3
mov dword [esp + 4], eax
lea eax, [ebp - 0x70]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x405263
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x405272
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x54], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 0xd
call fcn.004029c0
movzx eax, byte [ebp - 0x71]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 4
mov dword [esp + 8], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x58]
lea eax, [ebp - 0x50]
mov dword [esp + 8], edx
lea edx, [ebp - 0x70]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [ebp - 0x178], 3
mov dword [esp + 4], eax
lea eax, [ebp - 0x70]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x405309
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x405318
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x178], 0xd
mov dword [esp + 4], eax
lea eax, [ebp - 0x20]
mov dword [esp], eax
call fcn.00402d50
lea eax, [ebp - 0x28]
lea edx, [ebp - 0x20]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [ebp - 0x178], 0xc
call fcn.004033b0
mov eax, dword [ebp + 0x10]
sub esp, 4
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov eax, dword [eax + 4]
mov dword [ebp - 0x178], 0xb
mov dword [esp + 4], eax
lea eax, [ebp - 0x30]
mov dword [esp], eax
call fcn.00402d50
lea eax, [ebp - 0xe0]
mov dword [ebp - 0xe0], 1
mov dword [ebp - 0xdc], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 0xa
call fcn.004029c0
lea edx, [ebp - 0x28]
lea eax, [ebp - 0x40]
mov dword [esp + 8], edx
lea edx, [ebp - 0x30]
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x148], 0x67452301
mov dword [ebp - 0x144], 0xefcdab89
mov dword [ebp - 0x140], 0x98badcfe
mov dword [ebp - 0x13c], 0x10325476
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [ebp - 0x178], 9
call fcn.004037d0
mov eax, dword [ebp - 0x3c]
sub esp, 4
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x148], 0x67452301
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x144], 0xefcdab89
mov dword [ebp - 0x140], 0x98badcfe
mov dword [ebp - 0x13c], 0x10325476
mov dword [esp], eax
mov dword [ebp - 0x178], 8
call sub.KERNEL32.dll_lstrlenA
mov edx, dword [ebp - 0x138]
sub esp, 4
mov dword [ebp - 0x188], eax
mov ecx, dword [ebp - 0x188]
mov eax, edx
shl ecx, 3
shr eax, 3
lea edx, [ecx + edx]
and eax, 0x3f
cmp ecx, edx
mov dword [ebp - 0x138], edx
ja 0x4063b5
mov ecx, dword [ebp - 0x134]
mov edx, dword [ebp - 0x188]
mov dword [ebp - 0x180], 0x40
sub dword [ebp - 0x180], eax
shr edx, 0x1d
lea edx, [ecx + edx]
mov dword [ebp - 0x134], edx
mov edx, dword [ebp - 0x180]
cmp dword [ebp - 0x188], edx
jae 0x406450
mov dword [ebp - 0x180], 0
mov ecx, dword [ebp - 0x188]
lea eax, [ebp + eax - 0x130]
mov edx, dword [ebp - 0x190]
sub ecx, dword [ebp - 0x180]
add edx, dword [ebp - 0x180]
mov dword [esp], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
call fcn.00404150
mov edx, dword [ebp - 0x138]
mov eax, edx
shr eax, 8
mov byte [ebp - 0x57], al
mov eax, edx
shr eax, 0x10
mov byte [ebp - 0x56], al
mov eax, edx
shr eax, 0x18
mov byte [ebp - 0x55], al
mov eax, dword [ebp - 0x134]
mov byte [ebp - 0x58], dl
mov ecx, eax
shr ecx, 8
mov byte [ebp - 0x54], al
mov byte [ebp - 0x53], cl
mov ecx, eax
shr eax, 0x18
mov byte [ebp - 0x51], al
mov eax, edx
shr eax, 3
and eax, 0x3f
shr ecx, 0x10
cmp eax, 0x37
mov byte [ebp - 0x52], cl
ja 0x4063a0
mov dword [ebp - 0x1a0], 0x38
sub dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0x1a0]
shl ecx, 3
lea edx, [ecx + edx]
cmp ecx, edx
mov dword [ebp - 0x138], edx
ja 0x406390
mov edx, dword [ebp - 0x134]
mov dword [ebp - 0x198], 0x40
sub dword [ebp - 0x198], eax
mov dword [ebp - 0x134], edx
mov edx, dword [ebp - 0x198]
cmp dword [ebp - 0x1a0], edx
jae 0x4064d3
mov edx, section..data
mov dword [ebp - 0x198], 0
mov ecx, dword [ebp - 0x1a0]
lea eax, [ebp + eax - 0x130]
sub ecx, dword [ebp - 0x198]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 8], ecx
call fcn.00404150
mov edx, dword [ebp - 0x138]
mov eax, edx
add edx, 0x40
shr eax, 3
and eax, 0x3f
cmp edx, 0x3f
mov dword [ebp - 0x138], edx
jbe 0x4063c3
mov edx, dword [ebp - 0x134]
mov dword [ebp - 0x1a8], 0x40
lea ecx, [ebp - 0x58]
sub dword [ebp - 0x1a8], eax
cmp dword [ebp - 0x1a8], 8
mov dword [ebp - 0x134], edx
mov edx, 8
ja 0x405694
mov edx, dword [ebp - 0x1a8]
lea eax, [ebp + eax - 0x130]
lea ebx, [ebp - 0x58]
mov dword [esp + 4], ebx
mov dword [esp], eax
mov dword [esp + 8], edx
call fcn.00404150
lea eax, [ebp - 0x130]
mov dword [esp + 4], eax
lea eax, [ebp - 0x148]
mov dword [esp], eax
call fcn.0041bce0
mov ecx, dword [ebp - 0x1a8]
mov edx, 8
sub edx, dword [ebp - 0x1a8]
xor eax, eax
add ecx, ebx
lea ebx, [ebp - 0x148]
lea eax, [ebp + eax - 0x130]
mov edi, ebx
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [ebp - 0x1c0], ebx
mov dword [esp], eax
call fcn.00404150
mov eax, dword [ebp - 0x148]
mov ecx, 0x16
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], 0
mov edx, eax
shr edx, 8
mov byte [ebp - 0xf0], al
mov byte [ebp - 0xef], dl
mov edx, eax
shr eax, 0x18
mov byte [ebp - 0xed], al
mov eax, dword [ebp - 0x144]
shr edx, 0x10
mov byte [ebp - 0xee], dl
mov edx, eax
shr edx, 8
mov byte [ebp - 0xec], al
mov byte [ebp - 0xeb], dl
mov edx, eax
shr eax, 0x18
mov byte [ebp - 0xe9], al
mov eax, dword [ebp - 0x140]
shr edx, 0x10
mov byte [ebp - 0xea], dl
mov edx, eax
shr edx, 8
mov byte [ebp - 0xe8], al
mov byte [ebp - 0xe7], dl
mov edx, eax
shr eax, 0x18
mov byte [ebp - 0xe5], al
mov eax, dword [ebp - 0x13c]
shr edx, 0x10
mov byte [ebp - 0xe6], dl
mov edx, eax
shr edx, 8
mov byte [ebp - 0xe4], al
mov byte [ebp - 0xe3], dl
mov edx, eax
shr eax, 0x18
mov byte [ebp - 0xe1], al
xor eax, eax
rep stosd dword es:[edi], eax
shr edx, 0x10
lea eax, [ebp - 0x60]
mov byte [ebp - 0xe2], dl
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 8
call fcn.004029c0
movzx eax, byte [ebp - 0xf0]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 2
mov dword [esp + 8], eax
lea eax, [ebp - 0x60]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x60]
lea eax, [ebp - 0x68]
mov dword [esp + 8], edx
lea edx, [ebp - 0xe0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x64]
sub esp, 4
mov dword [ebp - 0x178], 1
mov dword [esp + 4], eax
lea eax, [ebp - 0xe0]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x40580e
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x40581d
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 8
call fcn.004029c0
movzx eax, byte [ebp - 0xef]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 2
mov dword [esp + 8], eax
lea eax, [ebp - 0x60]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x60]
lea eax, [ebp - 0x68]
mov dword [esp + 8], edx
lea edx, [ebp - 0xe0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x64]
sub esp, 4
mov dword [ebp - 0x178], 1
mov dword [esp + 4], eax
lea eax, [ebp - 0xe0]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x4058bd
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x4058cc
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 8
call fcn.004029c0
movzx eax, byte [ebp - 0xee]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 2
mov dword [esp + 8], eax
lea eax, [ebp - 0x60]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x60]
lea eax, [ebp - 0x68]
mov dword [esp + 8], edx
lea edx, [ebp - 0xe0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x64]
sub esp, 4
mov dword [ebp - 0x178], 1
mov dword [esp + 4], eax
lea eax, [ebp - 0xe0]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x40596c
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x40597b
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 8
call fcn.004029c0
movzx eax, byte [ebp - 0xed]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 2
mov dword [esp + 8], eax
lea eax, [ebp - 0x60]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x60]
lea eax, [ebp - 0x68]
mov dword [esp + 8], edx
lea edx, [ebp - 0xe0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x64]
sub esp, 4
mov dword [ebp - 0x178], 1
mov dword [esp + 4], eax
lea eax, [ebp - 0xe0]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x405a1b
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x405a2a
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 8
call fcn.004029c0
movzx eax, byte [ebp - 0xec]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 2
mov dword [esp + 8], eax
lea eax, [ebp - 0x60]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x60]
lea eax, [ebp - 0x68]
mov dword [esp + 8], edx
lea edx, [ebp - 0xe0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x64]
sub esp, 4
mov dword [ebp - 0x178], 1
mov dword [esp + 4], eax
lea eax, [ebp - 0xe0]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x405aca
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x405ad9
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 8
call fcn.004029c0
movzx eax, byte [ebp - 0xeb]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 2
mov dword [esp + 8], eax
lea eax, [ebp - 0x60]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x60]
lea eax, [ebp - 0x68]
mov dword [esp + 8], edx
lea edx, [ebp - 0xe0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x64]
sub esp, 4
mov dword [ebp - 0x178], 1
mov dword [esp + 4], eax
lea eax, [ebp - 0xe0]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x405b79
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x405b88
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 8
call fcn.004029c0
movzx eax, byte [ebp - 0xea]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 2
mov dword [esp + 8], eax
lea eax, [ebp - 0x60]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x60]
lea eax, [ebp - 0x68]
mov dword [esp + 8], edx
lea edx, [ebp - 0xe0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x64]
sub esp, 4
mov dword [ebp - 0x178], 1
mov dword [esp + 4], eax
lea eax, [ebp - 0xe0]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x405c28
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x405c37
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 8
call fcn.004029c0
movzx eax, byte [ebp - 0xe9]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 2
mov dword [esp + 8], eax
lea eax, [ebp - 0x60]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x60]
lea eax, [ebp - 0x68]
mov dword [esp + 8], edx
lea edx, [ebp - 0xe0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x64]
sub esp, 4
mov dword [ebp - 0x178], 1
mov dword [esp + 4], eax
lea eax, [ebp - 0xe0]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x405cd7
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x405ce6
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 8
call fcn.004029c0
movzx eax, byte [ebp - 0xe8]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 2
mov dword [esp + 8], eax
lea eax, [ebp - 0x60]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x60]
lea eax, [ebp - 0x68]
mov dword [esp + 8], edx
lea edx, [ebp - 0xe0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x64]
sub esp, 4
mov dword [ebp - 0x178], 1
mov dword [esp + 4], eax
lea eax, [ebp - 0xe0]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x405d86
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x405d95
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 8
call fcn.004029c0
movzx eax, byte [ebp - 0xe7]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 2
mov dword [esp + 8], eax
lea eax, [ebp - 0x60]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x60]
lea eax, [ebp - 0x68]
mov dword [esp + 8], edx
lea edx, [ebp - 0xe0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x64]
sub esp, 4
mov dword [ebp - 0x178], 1
mov dword [esp + 4], eax
lea eax, [ebp - 0xe0]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x405e35
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x405e44
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 8
call fcn.004029c0
movzx eax, byte [ebp - 0xe6]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 2
mov dword [esp + 8], eax
lea eax, [ebp - 0x60]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x60]
lea eax, [ebp - 0x68]
mov dword [esp + 8], edx
lea edx, [ebp - 0xe0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x64]
sub esp, 4
mov dword [ebp - 0x178], 1
mov dword [esp + 4], eax
lea eax, [ebp - 0xe0]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x405ee4
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x405ef3
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 8
call fcn.004029c0
movzx eax, byte [ebp - 0xe5]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 2
mov dword [esp + 8], eax
lea eax, [ebp - 0x60]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x60]
lea eax, [ebp - 0x68]
mov dword [esp + 8], edx
lea edx, [ebp - 0xe0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x64]
sub esp, 4
mov dword [ebp - 0x178], 1
mov dword [esp + 4], eax
lea eax, [ebp - 0xe0]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x405f93
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x405fa2
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 8
call fcn.004029c0
movzx eax, byte [ebp - 0xe4]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 2
mov dword [esp + 8], eax
lea eax, [ebp - 0x60]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x60]
lea eax, [ebp - 0x68]
mov dword [esp + 8], edx
lea edx, [ebp - 0xe0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x64]
sub esp, 4
mov dword [ebp - 0x178], 1
mov dword [esp + 4], eax
lea eax, [ebp - 0xe0]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x406042
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x406051
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 8
call fcn.004029c0
movzx eax, byte [ebp - 0xe3]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 2
mov dword [esp + 8], eax
lea eax, [ebp - 0x60]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x60]
lea eax, [ebp - 0x68]
mov dword [esp + 8], edx
lea edx, [ebp - 0xe0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x64]
sub esp, 4
mov dword [ebp - 0x178], 1
mov dword [esp + 4], eax
lea eax, [ebp - 0xe0]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x4060f1
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x406100
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 8
call fcn.004029c0
movzx eax, byte [ebp - 0xe2]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 2
mov dword [esp + 8], eax
lea eax, [ebp - 0x60]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x60]
lea eax, [ebp - 0x68]
mov dword [esp + 8], edx
lea edx, [ebp - 0xe0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x64]
sub esp, 4
mov dword [ebp - 0x178], 1
mov dword [esp + 4], eax
lea eax, [ebp - 0xe0]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x4061a0
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x4061af
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [ebp - 0x178], 8
call fcn.004029c0
movzx eax, byte [ebp - 0xe1]
mov dword [esp + 4], str._02x
mov dword [ebp - 0x178], 2
mov dword [esp + 8], eax
lea eax, [ebp - 0x60]
mov dword [esp], eax
call fcn.00402bf0
lea edx, [ebp - 0x60]
lea eax, [ebp - 0x68]
mov dword [esp + 8], edx
lea edx, [ebp - 0xe0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004037d0
mov eax, dword [ebp - 0x64]
sub esp, 4
mov dword [ebp - 0x178], 1
mov dword [esp + 4], eax
lea eax, [ebp - 0xe0]
mov dword [esp], eax
call fcn.00402d50
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x40624f
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x40625e
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x178], 8
mov dword [esp + 4], eax
lea eax, [ebp - 0x48]
mov dword [esp], eax
call fcn.00402d50
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x38]
mov dword [esp + 8], edx
lea edx, [ebp - 0x48]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [ebp - 0x178], 7
call fcn.004037d0
mov eax, dword [ebp - 0x44]
sub esp, 4
test eax, eax
je 0x4062c0
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x4062cf
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x34]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x178], 6
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00403480
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x406301
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x406313
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x406322
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x406331
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x406340
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x40634f
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x40635e
mov dword [esp], eax
call fcn.0041dc40
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x40636d
mov dword [esp], eax
call fcn.0041dc40
lea eax, [ebp - 0x17c]
mov dword [esp], eax
call fcn.0041a7e0
lea esp, [ebp - 8]
pop ebx
pop edi
pop ebp
ret
mov ecx, dword [ebp - 0xc4]
add ecx, 1
jmp 0x40462c
mov edx, dword [ebp - 0x134]
add edx, 1
jmp 0x4055a0
mov dword [ebp - 0x1a0], 0x78
sub dword [ebp - 0x1a0], eax
jmp 0x405580
mov ecx, dword [ebp - 0x134]
add ecx, 1
jmp 0x4054b2
mov edx, dword [ebp - 0x134]
add edx, 1
jmp 0x405620
mov edx, dword [ebp - 0xc4]
add edx, 1
jmp 0x40479a
mov edx, dword [ebp - 0xc4]
add edx, 1
jmp 0x40471a
mov dword [ebp - 0x1a4], 0x78
sub dword [ebp - 0x1a4], eax
jmp 0x4046fa
lea eax, [ebp + eax - 0xc0]
mov ebx, edx
mov dword [esp + 8], edx
mov dword [esp + 4], 0x420000
mov dword [esp], eax
call fcn.00404150
lea eax, [ebp - 0xc0]
mov dword [esp + 4], eax
lea eax, [ebp - 0xd8]
mov dword [esp], eax
call fcn.0041bce0
mov edx, ebx
xor eax, eax
add edx, section..data
jmp 0x404751
mov dword [esp + 8], edx
mov edx, dword [ebp - 0x190]
lea eax, [ebp + eax - 0x130]
mov dword [esp], eax
lea ebx, [ebp - 0x148]
mov dword [esp + 4], edx
call fcn.00404150
lea eax, [ebp - 0x130]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0041bce0
mov eax, dword [ebp - 0x180]
add eax, 0x3f
cmp dword [ebp - 0x188], eax
jbe 0x4064cc
mov eax, dword [ebp - 0x190]
add eax, dword [ebp - 0x180]
mov dword [esp + 4], eax
lea eax, [ebp - 0x148]
mov dword [esp], eax
call fcn.0041bce0
add dword [ebp - 0x180], 0x40
mov eax, dword [ebp - 0x180]
add eax, 0x3f
cmp eax, dword [ebp - 0x188]
jb 0x406496
xor eax, eax
jmp 0x4054f0
lea eax, [ebp + eax - 0x130]
mov ebx, edx
mov dword [esp + 8], edx
mov dword [esp + 4], 0x420000
mov dword [esp], eax
call fcn.00404150
lea eax, [ebp - 0x130]
mov dword [esp + 4], eax
lea eax, [ebp - 0x148]
mov dword [esp], eax
call fcn.0041bce0
mov edx, ebx
xor eax, eax
add edx, section..data
jmp 0x4055d7
mov dword [esp + 8], edx
mov edx, dword [ebp - 0x194]
lea eax, [ebp + eax - 0xc0]
mov dword [esp], eax
lea ebx, [ebp - 0xd8]
mov dword [esp + 4], edx
call fcn.00404150
lea eax, [ebp - 0xc0]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0041bce0
mov eax, dword [ebp - 0x184]
add eax, 0x3f
cmp dword [ebp - 0x18c], eax
jbe 0x406596
lea esi, [esi]
mov eax, dword [ebp - 0x194]
add eax, dword [ebp - 0x184]
mov dword [esp + 4], eax
lea eax, [ebp - 0xd8]
mov dword [esp], eax
call fcn.0041bce0
add dword [ebp - 0x184], 0x40
mov eax, dword [ebp - 0x184]
add eax, 0x3f
cmp dword [ebp - 0x18c], eax
ja 0x406560
xor eax, eax
jmp 0x40466a
mov eax, dword [ebp - 0xc]
mov ebx, dword [ebp + 0xc]
mov dword [esp + 8], 0x424b7a
mov dword [ebp - 0x178], 0xe
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00403480
jmp 0x404573