Function at 0x407337
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
lea edi, [ebp - 0x30]
push edi
call dword [sym.imp.kernel32.dll_GetVersionExA]
mov eax, dword [ebp]
lea eax, [eax]
mov edx, dword [ebp]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
lea edx, [ebp - 0x18]
mov dword [ebp - 0x30], esi
mov ecx, dword [ebp - 0x20]
mov eax, 0x3f
mov edi, dword [esp]
mov dword [ebp - 0x1c], ecx
lea ecx, [ecx]
mov edi, 0x40
mov edi, 2
mov ecx, 0x94
mov eax, 0x5e
mov ecx, dword [ebp]
lea edx, [edx]
xor dword [ebp - 0x24], 0x440044
lea edi, [edi]
lea edx, [edx]
mov edi, dword [ebp - 0x1c]
sub eax, eax
mov ax, 0x75
or dword [ebp - 0x28], 0xffff
or dword [ebp - 0x18], 0xffffff
test eax, eax
jb 0x4073b9
mov ecx, 0x200
add dword [ebp - 0x28], 1
lea eax, [ebp - 0x2c]
sub dword [ebp - 0x1c], 0x6f
xor eax, eax
xor dword [ebp - 0x30], 0xff
mov ecx, dword [ebp - 0x2c]
call fcn.00408bbe
lea ecx, [ebp - 0x1c]
push ecx
call dword [sym.imp.kernel32.dll_lstrlenA]
lea edi, [eax]
mov ecx, 0x5e
mov dword [ebp - 0x30], ecx
mov di, 0xe6
mov ecx, dword [esp]
mov si, 0x20
lea edx, [eax]
mov di, 8
mov edi, dword [ebp - 0x1c]
mov eax, dword [ebp]
lea eax, [ebp - 0x1c]
mov eax, 0x20
mov edi, 0x86
mov edi, dword [ebp]
lea eax, [eax]
mov esi, 0x75
lea edi, [esi]
sub dword [ebp - 0x30], 0x8888
xor edi, edi
add dword [ebp - 0x18], 0x110011
and dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x24], edi
mov edx, dword [ebp - 0x20]
sub eax, eax
lea edi, [ebp - 0x1c]
push edi
call dword [sym.imp.kernel32.dll_GetVersionExA]
mov edi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
mov edi, dword [ebp]
mov esi, dword [esp]
mov esi, 0x6e
mov edi, dword [esp]
mov eax, dword [esp]
mov edi, dword [esp]
lea edi, [esi]
lea eax, [edi]
mov edi, dword [esp]
mov esi, ecx
lea edx, [ebp - 0x1c]
mov edi, ecx
lea edx, [ebp - 0x20]
mov edi, 0xa4
or dword [ebp - 0x24], 0xff00ffff
lea esi, [edi]
xor dword [ebp - 0x1c], 0xee0000ee
lea eax, [ebp - 0x30]
mov edi, esi
mov ecx, dword [ebp - 0x2c]
mov edx, 0xc8
xor dword [ebp - 0x20], 0xffff
lea edi, [ebp - 0x28]
push edi
call dword [sym.imp.kernel32.dll_GetVersionExA]
mov edi, dword [ebp]
lea edi, [edi]
mov dword [ebp - 0x1c], edi
mov edi, esi
mov eax, 2
lea eax, [ebp - 0x18]
mov edx, dword [ebp]
mov cx, 0xbc
mov edi, dword [esp]
lea eax, [ebp - 0x24]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp]
mov edx, dword [ebp - 0x24]
lea edi, [edi]
lea eax, [eax]
mov eax, 0x40
lea ecx, [ecx]
sub edi, edi
mov edx, 0xb4
and dword [ebp - 0x24], 0x6666
mov dword [ebp - 0x24], edi
mov di, 4
xor edx, edx
xor dword [ebp - 0x2c], 0xffffff
cmp edx, 0xb6
jae 0x407504
xor ecx, ecx
cmp edx, dword [ebp - 0x2c]
jb 0x40750b
lea ecx, [ebp - 0x20]
sub ecx, ecx
mov dword [ebp - 0x2c], edx
and dword [ebp - 0x20], 0xffffff
lea esi, [ebp - 0x30]
push esi
call dword [sym.imp.kernel32.dll_GetVersionExA]
lea ecx, [ecx]
lea ecx, [ecx]
mov dword [ebp - 0x1c], ecx
mov eax, dword [esp]
lea ecx, [ebp - 0x1c]
mov edx, dword [ebp]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x2c], edi
mov esi, 0x6f
lea esi, [edi]
mov cx, 8
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x18], eax
lea eax, [edx]
mov edi, dword [ebp]
mov eax, 1
mov esi, 0x93
sub edx, edx
lea esi, [ecx]
mov ax, 4
lea eax, [ebp - 0x28]
mov ecx, 0x200
cmp ecx, dword [ebp - 0x2c]
jae 0x407572
mov eax, dword [ebp - 0x24]
or dword [ebp - 0x2c], 0xff00ff
cmp eax, dword [ebp - 0x20]
je 0x407572
mov eax, 0x40
xor ecx, ecx
mov dword [ebp - 0x28], 0x20
mov ecx, 2
test ecx, ecx
ja 0x4075a1
add dword [ebp - 0x18], 6
add dword [ebp - 0x2c], 4
mov edx, 0
mov dx, 0x51
and dword [ebp - 0x24], 0xff
mov ecx, 0x300
lea ecx, [ebp - 0x20]
lea ecx, [ebp - 0x24]
lea ecx, [ebp - 0x24]
cmp ecx, 0
je 0x4075ca
mov eax, dword [ebp - 0x28]
add dword [ebp - 0x18], 0x21
cmp eax, 0xaf1
je 0x4075ca
and dword [ebp - 0x28], 0xff00ff
xor ecx, ecx
and dword [ebp - 0x1c], 0xff00ff
or dword [ebp - 0x24], 0xffff
mov eax, 0x100
sub eax, eax
lea eax, [ebp - 0x28]
test eax, eax
ja 0x4075f9
xor ecx, ecx
mov ecx, 0x12c
lea ecx, [ebp - 0x28]
lea ecx, [ebp - 0x1c]
mov ax, 8
and dword [ebp - 0x24], 0xffff
add dword [ebp - 0x18], 0x80
mov edx, dword [ebp - 0x1c]
lea edx, [ebp - 0x20]
mov edx, 0x35
xor dword [ebp - 0x20], 0xffff
cmp edx, 0
jne 0x40762f
xor ecx, ecx
and dword [ebp - 0x1c], 0xffffff
cmp ecx, 0
jae 0x407636
mov dword [ebp - 0x18], edx
and dword [ebp - 0x20], 0xffffff
mov ecx, 0x300
mov edx, 0x64
mov eax, 0x12c
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x2c], eax
jae 0x40766d
mov edx, dword [ebp - 0x28]
or dword [ebp - 0x2c], 0xffffff
sub dword [ebp - 0x20], 0x20
lea eax, [ebp - 0x2c]
mov eax, 0x7f
xor dword [ebp - 0x24], 0xff00ff
lea eax, [ebp - 0x28]
add dword [ebp - 0x1c], 0x55
sub ecx, ecx
mov eax, 0x64
sub eax, eax
xor eax, eax
mov ax, 0x11
sub dword [ebp - 0x30], 1
test eax, eax
jb 0x40768e
xor edx, edx
add dword [ebp - 0x2c], 0x34
add dword [ebp - 0x2c], 0x3c
mov edx, 0x100
lea edx, [ebp - 0x20]
sub edx, edx
sub dword [ebp - 0x18], 0x41
xor dword [ebp - 0x28], 0xffff
sub ecx, ecx
sub ecx, ecx
xor ecx, ecx
xor dword [ebp - 0x1c], 0xffffff
add dword [ebp - 0x2c], 0x20
cmp dword [ebp - 0x20], ecx
jne 0x4076cd
xor edx, edx
mov dword [ebp - 0x1c], 0x20
mov dword [ebp - 0x28], 0x10
mov dword [ebp - 0x28], ecx
sub eax, eax
xor eax, eax
and dword [ebp - 0x18], 0xffff
cmp eax, 0x70
jbe 0x4076e9
xor edx, edx
or dword [ebp - 0x18], 0xffffff
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x24], 1
mov eax, dword [ebp - 0x1c]
mov ax, 0x47
or dword [ebp - 0x2c], 0xff
cmp eax, 0xd3
jne 0x407710
xor edx, edx
cmp eax, 0
jne 0x407710
mov eax, 0x40
xor eax, eax
mov dword [ebp - 0x24], eax
and dword [ebp - 0x24], 0xff
cmp dword [ebp - 0x20], eax
jae 0x407736
mov ecx, 0x100
xor ecx, ecx
sub dword [ebp - 0x18], 0x74
cmp eax, 0
jbe 0x40773f
sub dword [ebp - 0x24], 0x25
mov eax, 0x2e
xor eax, eax
xor eax, eax
sub eax, eax
test eax, eax
jb 0x407753
xor ecx, ecx
cmp ecx, 0xc15
jne 0x407753
lea eax, [ebp - 0x18]
and dword [ebp - 0x1c], 0xffffff
mov eax, 0
sub ecx, ecx
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x24]
test eax, eax
ja 0x407794
mov ecx, dword [ebp - 0x28]
and dword [ebp - 0x28], 0xff
and dword [ebp - 0x18], 0xff
and dword [ebp - 0x18], 0xff
and dword [ebp - 0x24], 0xff00ff
xor dword [ebp - 0x24], 0xffffff
or dword [ebp - 0x20], 0xff
mov ecx, 0x12c
sub edx, edx
mov edx, 0
or dword [ebp - 0x24], 0xff00ff
sub dword [ebp - 0x28], 8
xor edx, edx
sub eax, eax
mov eax, 8
mov eax, 4
xor dword [ebp - 0x30], 0xffff
and dword [ebp - 0x24], 0xffffff
cmp eax, 0
jb 0x4077eb
mov edx, 0x300
mov dword [ebp - 0x30], 0x20
cmp dword [ebp - 0x1c], eax
ja 0x4077eb
and dword [ebp - 0x20], 0xffff
mov dx, 0x49
mov ecx, 0
and dword [ebp - 0x1c], 0xffffff
test ecx, ecx
jb 0x40780d
mov eax, 0x100
xor eax, eax
xor dword [ebp - 0x18], 0xff
xor eax, eax
and dword [ebp - 0x30], 0xffffff
mov ecx, 0xc8
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], ecx
mov cx, 4
mov dword [ebp - 0x1c], 0x80
sub ecx, ecx
and dword [ebp - 0x30], 0xff
mov ax, 0x44
and dword [ebp - 0x30], 0xff00ff
mov eax, 0x300
and dword [ebp - 0x24], 0xffffff
and dword [ebp - 0x28], 0xff00ff
mov eax, 0
and dword [ebp - 0x20], 0xffff
and dword [ebp - 0x24], 0xff00ff
xor ecx, ecx
xor ecx, ecx
or dword [ebp - 0x1c], 0xff00ff
and dword [ebp - 0x24], 0xff00ff
xor dword [ebp - 0x18], 0xffffff
mov dword [ebp - 0x2c], ecx
sub dword [ebp - 0x20], 0x41
sub eax, eax
mov dword [ebp - 0x24], eax
test eax, eax
jae 0x4078a0
xor ecx, ecx
sub dword [ebp - 0x28], 4
sub dword [ebp - 0x30], 0x10
cmp dword [ebp - 0x1c], ecx
jae 0x4078a0
sub eax, eax
mov edx, 0x12c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], 8
mov dx, 2
xor eax, eax
sub dword [ebp - 0x24], 8
xor dword [ebp - 0x20], 0xff00ff
mov eax, 0x77
mov eax, 1
cmp eax, 0
jbe 0x4078e0
mov edx, 0x200
cmp edx, 0
jae 0x4078e7
mov eax, 0x77
and dword [ebp - 0x28], 0xffff
mov edx, 0xb
mov eax, 0x200
sub eax, eax
cmp eax, 0xb8
jbe 0x407902
xor ecx, ecx
cmp ecx, dword [ebp - 0x2c]
jne 0x407902
mov edx, 0x64
mov dword [ebp - 0x18], 9
cmp edx, 0
ja 0x40791e
sub eax, eax
sub eax, eax
and dword [ebp - 0x1c], 0xffff
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x30]
jne 0x407935
mov edx, dword [ebp - 0x2c]
cmp dword [ebp - 0x24], eax
je 0x40793d
xor dword [ebp - 0x18], 0xff
add dword [ebp - 0x18], 0x72
sub dword [ebp - 0x18], 0x60
mov eax, 0x100
mov eax, 0x39
xor eax, eax
mov ecx, dword [ebp - 0x20]
mov eax, 0x300
and dword [ebp - 0x24], 0xffff
cmp eax, 0xba
ja 0x407970
xor edx, edx
and dword [ebp - 0x20], 0xff00ff
mov dword [ebp - 0x20], 0x80
mov ecx, dword [ebp - 0x24]
mov cx, 0x10
sub dword [ebp - 0x18], 0x20
cmp ecx, dword [ebp - 0x24]
jne 0x40798e
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x30], edx
sub dword [ebp - 0x18], 0x6b
test edx, edx
jae 0x40798e
lea edx, [ebp - 0x18]
push edx
call dword [sym.imp.kernel32.dll_lstrlenA]
lea edi, [eax]
lea esi, [esi]
mov edi, dword [ebp]
mov edi, ecx
mov esi, dword [ebp]
mov edi, dword [ebp]
mov eax, dword [ebp]
lea edx, [edi]
lea edx, [ebp - 0x2c]
mov edi, dword [esp]
mov esi, dword [ebp - 0x28]
mov edi, edx
mov ecx, dword [esp]
mov eax, 0x90
lea edi, [ebp - 0x18]
mov dword [ebp - 0x2c], eax
mov ax, 0x86
or dword [ebp - 0x30], 0x999999
or dword [ebp - 0x28], 0xeeeeeeee
and dword [ebp - 0x18], 0xff0000ff
mov edi, edx
sub ecx, ecx
mov ecx, 0
add dword [ebp - 0x28], 0x34
cmp ecx, 0
jbe 0x4079f8
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x30]
je 0x4079f8
lea ecx, [ebp - 0x18]
push ecx
call dword [sym.imp.kernel32.dll_lstrlenA]
mov edx, edi
mov eax, dword [ebp]
lea ecx, [edi]
mov di, 0xfd
mov edi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
lea ecx, [esi]
mov eax, dword [ebp - 0x24]
lea ecx, [eax]
mov ecx, dword [ebp]
mov esi, dword [ebp - 0x30]
lea eax, [edi]
lea edx, [edx]
mov si, 0x20
mov ecx, dword [ebp - 0x24]
mov edi, dword [esp]
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x28]
add dword [ebp - 0x20], 0xaa0000aa
and dword [ebp - 0x20], 0xbbbb00bb
lea eax, [ebp - 0x1c]
xor eax, eax
xor edx, edx
and dword [ebp - 0x24], 0xff00ff
cmp edx, 0
jbe 0x407a6c
mov ecx, 0xc8
xor dword [ebp - 0x24], 0xff00ff
cmp dword [ebp - 0x30], ecx
jne 0x407a6c
xor edx, edx
mov dx, 3
lea ecx, [ebp - 0x30]
push ecx
call dword [sym.imp.kernel32.dll_lstrlenA]
mov cx, 0x9c
mov edi, 8
mov eax, 1
mov edi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
lea ecx, [edi]
mov edx, dword [ebp - 0x1c]
lea eax, [esi]
lea eax, [eax]
lea esi, [ebp - 0x24]
mov edi, ecx
mov ecx, dword [ebp - 0x20]
lea edi, [edi]
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x28]
mov esi, dword [ebp]
mov edx, dword [esp]
lea edi, [edi]
add dword [ebp - 0x28], 0x22002222
and dword [ebp - 0x30], 0xaaaaaa
or dword [ebp - 0x24], 0xcccc
mov eax, dword [ebp - 0x1c]
mov ecx, 0x100
and dword [ebp - 0x30], 0xffffff
add dword [ebp - 0x30], 4
cmp ecx, dword [ebp - 0x24]
jae 0x407adf
sub edx, edx
mov edx, 0x3e
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.kernel32.dll_GetVersionExA]
mov esi, dword [ebp]
mov edi, dword [ebp]
mov dword [ebp - 0x30], esi
lea edi, [ebp - 0x2c]
mov esi, dword [esp]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], esi
mov ecx, edi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x24], ecx
mov dx, 4
lea eax, [esi]
mov edi, edx
mov cx, 0x6e
mov edi, 4
mov edi, dword [ebp]
mov ecx, esi
add dword [ebp - 0x1c], 0x88008888
and dword [ebp - 0x30], 0x1111
sub dword [ebp - 0x30], 0x666666
mov edi, dword [ebp - 0x30]
sub ecx, ecx
cmp ecx, 0x24
jb 0x407b4f
xor edx, edx
xor dword [ebp - 0x30], 0xffff
mov dx, 0x10
add dword [ebp - 0x28], 0x72
mov cx, 0x3d
mov esi, 0
or dword [ebp - 0x20], 0xffff
sub edx, edx
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x18], 8
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x20], 2
mov cx, 4
cmp ecx, 0
jae 0x407b8a
mov edx, dword [ebp - 0x24]
xor edx, edx
test ecx, ecx
je 0x407b8a
call dword [sym.imp.kernel32.dll_GetCommandLineA]
mov edi, dword [ebp]
mov dword [ebp - 0x1c], edx
lea ecx, [edi]
mov ecx, dword [ebp]
mov edi, dword [ebp - 0x28]
mov edi, 0xa5
mov edi, dword [esp]
mov edx, dword [ebp - 0x20]
mov edx, dword [ebp]
mov esi, 1
mov edi, eax
mov edx, 0x20
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x28], esi
mov eax, dword [esp]
lea edi, [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
and dword [ebp - 0x24], 0x88
xor dword [ebp - 0x20], 0xbbbbbbbb
mov dword [ebp - 0x18], ecx
and dword [ebp - 0x18], 0xeeee00ee
mov dword [ebp - 0x2c], ecx
mov ecx, 0x300
add dword [ebp - 0x28], 0x53
or dword [ebp - 0x28], 0xff00ff
and dword [ebp - 0x30], 0xffffff
cmp ecx, 0
ja 0x407c10
mov eax, 0
mov ax, 0x10
sub dword [ebp - 0x24], 0x29
cmp ecx, 0
ja 0x407c10
call dword [sym.imp.kernel32.dll_GetCommandLineA]
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 0x1c]
mov ecx, esi
lea ecx, [edx]
lea edi, [edx]
mov eax, dword [esp]
mov dword [ebp - 0x24], eax
mov edx, 0xb6
mov eax, dword [ebp - 0x1c]
mov di, 0x3c
mov ax, 0xec
lea edi, [eax]
mov edi, dword [ebp]
lea eax, [ebp - 0x2c]
lea ecx, [edx]
lea eax, [edi]
lea edi, [ebp - 0x18]
mov si, 0x9f
mov eax, 0x10
lea edi, [ebp - 0x2c]
sub dword [ebp - 0x20], 0x33003333
sub dword [ebp - 0x18], 0xff00ffff
mov edx, 0
add dword [ebp - 0x24], 0x7a
add dword [ebp - 0x2c], 0xb
cmp edx, dword [ebp - 0x20]
jbe 0x407c83
sub ecx, ecx
and dword [ebp - 0x1c], 0xff
sub ecx, ecx
cmp ecx, 0x61
jb 0x407c83
call dword [sym.imp.kernel32.dll_GetCommandLineA]
mov dword [ebp - 0x18], esi
mov di, 0x2a
lea edi, [edi]
lea edi, [edi]
mov esi, dword [esp]
mov edi, dword [ebp]
mov edi, dword [esp]
mov dword [ebp - 0x24], esi
lea eax, [ebp - 0x20]
mov dword [ebp - 0x30], edi
mov edi, esi
mov esi, 1
mov dx, 0x51
mov dword [ebp - 0x1c], edx
mov edi, dword [ebp]
lea ecx, [edi]
lea edi, [eax]
lea edx, [esi]
or dword [ebp - 0x30], 0xcc
sub dword [ebp - 0x20], 0xbbbb00bb
mov ecx, dword [ebp]
lea eax, [ecx]
mov ecx, 0x300
xor dword [ebp - 0x24], 0xff00ff
cmp ecx, dword [ebp - 0x18]
jae 0x407cee
mov eax, 0x12c
add dword [ebp - 0x28], 0x3d
sub dword [ebp - 0x30], 0x20
sub dword [ebp - 0x20], 0x26
call dword [sym.imp.kernel32.dll_GetCommandLineA]
mov edx, dword [esp]
mov edx, dword [ebp]
mov di, 0x20
lea edi, [ebp - 0x28]
mov eax, edi
mov dword [ebp - 0x30], edx
mov edi, dword [ebp]
lea edi, [ecx]
lea edi, [eax]
lea esi, [esi]
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp]
mov ecx, edi
mov edi, dword [esp]
mov edi, dword [ebp - 0x18]
lea edx, [edx]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], 0x40
mov edx, dword [esp]
and dword [ebp - 0x24], 0xffff00ff
xor ecx, ecx
add dword [ebp - 0x20], 0x9999
xor edx, edx
cmp edx, 0x17f
ja 0x407d58
sub eax, eax
mov dword [ebp - 0x28], 0x69
cmp dword [ebp - 0x18], edx
jbe 0x407d58
sub eax, eax
call dword [sym.imp.kernel32.dll_GetCommandLineA]
mov eax, 0x10
mov eax, dword [ebp]
lea edi, [ebp - 0x24]
mov ecx, pe_nt_image_headers32
mov esi, 0x28
mov dword [ebp - 0x24], edi
mov ecx, dword [esp]
lea edx, [ebp - 0x2c]
mov ecx, dword [esp]
mov eax, ecx
lea eax, [edx]
lea eax, [edi]
mov edx, dword [ebp - 0x30]
mov edi, dword [esp]
mov edi, dword [ebp]
lea eax, [esi]
mov edx, dword [ebp - 0x20]
or dword [ebp - 0x18], 0x11111111
lea edi, [edi]
xor edi, edi
sub edi, edi
mov dword [ebp - 0x1c], esi
xor edx, edx
cmp edx, 0x5f
ja 0x407ddb
and dword [ebp - 0x24], 0xffffff
mov eax, 0x7b
xor eax, eax
mov eax, 0x70
and dword [ebp - 0x30], 0xff00ff
and dword [ebp - 0x20], 0xff
mov dword [ebp - 0x2c], 0x53
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x1c], eax
add dword [ebp - 0x28], 0x80
call dword [sym.imp.kernel32.dll_GetCommandLineA]
lea esi, [ebp - 0x30]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x2c], edi
mov esi, edi
mov dword [ebp - 0x2c], esi
lea edx, [ebp - 0x28]
mov ecx, dword [ebp]
mov edi, dword [ebp]
mov dword [ebp - 0x1c], edi
mov si, 0x2f
mov edi, dword [esp]
mov edx, dword [ebp - 0x28]
lea edi, [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
mov eax, 0x94
mov ecx, 0x87
mov eax, dword [ebp]
sub dword [ebp - 0x2c], 0x770077
xor esi, esi
xor dword [ebp - 0x20], 0xff00ffff
sub eax, eax
mov eax, esi
xor edx, edx
or dword [ebp - 0x1c], 0xff
cmp edx, 0
je 0x407e51
mov eax, 0x64
cmp edx, dword [ebp - 0x24]
jb 0x407e58
lea edx, [ebp - 0x2c]
add dword [ebp - 0x28], 0x80
call dword [sym.imp.kernel32.dll_GetCommandLineA]
mov dword [ebp - 0x1c], edi
lea edi, [ecx]
mov eax, dword [esp]
mov edi, dword [ebp - 0x18]
mov cx, 0x8c
lea edi, [edi]
mov edi, 0x3a
mov edx, dword [ebp]
mov edi, dword [esp]
mov esi, ecx
lea ecx, [edi]
lea edi, [ebp - 0x2c]
mov dx, 0x20
mov edi, 0xd1
mov si, 8
lea ecx, [ecx]
mov si, 0x20
add dword [ebp - 0x20], 0xcc00cc
mov edx, 4
mov di, 0x40
lea edx, [ebp - 0x1c]
xor dword [ebp - 0x2c], 0xbb00bbbb
mov edx, dword [ebp - 0x1c]
and dword [ebp - 0x20], 0xff
lea edx, [ebp - 0x20]
xor eax, eax
lea eax, [ebp - 0x30]
cmp edx, 0x9f
jb 0x407ed0
mov eax, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x28]
jb 0x407ed0
call dword [sym.imp.kernel32.dll_GetCommandLineA]
mov dword [ebp - 0x2c], eax
lea esi, [eax]
mov dword [ebp - 0x20], edx
lea esi, [ebp - 0x20]
mov ecx, dword [esp]
mov edi, dword [ebp]
lea esi, [esi]
mov ecx, 1
mov edx, dword [ebp]
mov dword [ebp - 0x30], eax
mov si, 0xcc
lea edi, [esi]
lea ecx, [ecx]
mov ax, 0xd5
mov edi, dword [ebp]
mov ecx, dword [ebp - 0x30]
lea esi, [ebp - 0x30]
mov edi, eax
sub esi, esi
mov ax, 8
mov dword [ebp - 0x2c], esi
mov edi, dword [ebp]
mov eax, dword [ebp]
mov edx, 0xc8
sub edx, edx
and dword [ebp - 0x2c], 0xffffff
and dword [ebp - 0x18], 0xff00ff
add dword [ebp - 0x28], 0x71
cmp edx, 0xdc
jne 0x407f4c
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], 0x56
or dword [ebp - 0x28], 0xff
lea ecx, [ebp - 0x24]
mov ecx, 8
call dword [sym.imp.kernel32.dll_GetCommandLineA]
mov edi, dword [esp]
lea ecx, [ecx]
mov eax, dword [ebp]
mov edi, dword [esp]
lea edi, [ebp - 0x30]
mov esi, dword [ebp]
mov esi, 8
lea edi, [eax]
mov ecx, 0x11
mov di, 1
mov di, 0x28
mov esi, eax
mov dword [ebp - 0x28], esi
mov esi, 0x10
mov di, 2
mov dword [ebp - 0x28], esi
lea esi, [esi]
xor ecx, ecx
or dword [ebp - 0x30], 0xdddd
xor edi, edi
or dword [ebp - 0x1c], 0x660066
sub edi, edi
mov ecx, 0x300
mov dword [ebp - 0x18], 8
test ecx, ecx
je 0x407fc3
mov edx, 0
mov dword [ebp - 0x18], edx
cmp edx, 0x30
jb 0x407fc3
call dword [sym.imp.kernel32.dll_GetCommandLineA]
mov si, 0x54
mov edx, ecx
lea edi, [esi]
lea edx, [edi]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], eax
mov esi, 0x20
lea edi, [esi]
lea edi, [ebp - 0x18]
mov dword [ebp - 0x2c], edi
lea esi, [ebp - 0x24]
lea esi, [esi]
lea eax, [eax]
mov edi, dword [esp]
mov si, 0xe4
lea esi, [esi]
mov edi, 0x10
mov edi, dword [esp]
xor eax, eax
mov edx, dword [ebp]
and dword [ebp - 0x24], 0x110011
mov di, 0x20
xor ecx, ecx
add dword [ebp - 0x18], 0x1f
sub eax, eax
call dword [sym.imp.kernel32.dll_GetCommandLineA]
lea edi, [esi]
mov ecx, 0xac
lea esi, [esi]
mov edi, dword [esp]
lea esi, [esi]
lea edx, [ecx]
mov edi, eax
mov edi, dword [esp]
mov edi, 0xb7
lea esi, [ebp - 0x30]
lea edx, [edx]
mov esi, edx
lea edi, [esi]
lea eax, [esi]
mov edi, esi
lea esi, [ebp - 0x18]
mov ecx, dword [ebp]
lea esi, [ebp - 0x20]
and dword [ebp - 0x18], 0x55
and dword [ebp - 0x2c], 0x2222
mov dword [ebp - 0x28], edx
add dword [ebp - 0x30], 0x9999
xor eax, eax
and dword [ebp - 0x24], 0xffffff
mov edx, 0x200
lea edx, [ebp - 0x20]
call dword [sym.imp.kernel32.dll_GetCommandLineA]
mov edi, 0x14
mov ecx, edi
mov si, 2
mov ecx, dword [ebp - 0x30]
lea ecx, [ebp - 0x1c]
mov ecx, eax
mov edi, 0x80
mov dword [ebp - 0x18], edi
lea eax, [eax]
mov edi, eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], edx
lea eax, [eax]
mov dword [ebp - 0x30], eax
lea ecx, [esi]
lea edi, [edi]
lea ecx, [ecx]
or dword [ebp - 0x30], 0x22
mov dword [ebp - 0x2c], ecx
mov eax, 2
add dword [ebp - 0x28], 0x33003333
mov esi, 0x20
xor edx, edx
sub edx, edx
xor dword [ebp - 0x2c], 0xff00ff
test edx, edx
jb 0x4080e3
sub eax, eax
or dword [ebp - 0x1c], 0xff
cmp edx, 0
jne 0x4080e3
add dword [ebp - 0x24], 0x7a
sub eax, eax
mov dword [ebp - 0x28], 0x3e
call dword [sym.imp.kernel32.dll_GetCommandLineA]
mov ecx, dword [esp]
mov esi, dword [ebp]
mov edi, dword [esp]
mov edi, dword [ebp - 0x24]
mov eax, edi
lea edi, [ebp - 0x20]
lea edi, [edi]
mov edi, dword [esp]
mov edi, 1
lea edx, [ebp - 0x1c]
lea esi, [edx]
mov eax, 0xd7
mov eax, dword [ebp - 0x30]
mov edi, eax
lea esi, [edi]
mov esi, dword [ebp]
mov edi, dword [ebp]
xor edi, edi
sub edx, edx
xor dword [ebp - 0x28], 0x88008888
lea edx, [edx]
mov dword [ebp - 0x20], 0x10
mov ecx, 0
mov dword [ebp - 0x20], ecx
or dword [ebp - 0x1c], 0xff00ff
cmp dword [ebp - 0x24], ecx
jbe 0x408156
mov edx, 0
xor edx, edx
cmp edx, 0
je 0x408156
call dword [sym.imp.kernel32.dll_GetCommandLineA]
mov edi, dword [ebp]
lea edi, [ebp - 0x18]
mov eax, esi
mov dword [ebp - 0x30], ecx
mov edi, dword [esp]
mov cx, 0x20
mov di, 0x27
mov edi, dword [ebp]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp]
lea ecx, [ecx]
mov edx, 0x85
lea esi, [edi]
mov edx, 0xe8
mov edi, dword [ebp]
mov dword [ebp - 0x28], ecx
lea edx, [ebp - 0x30]
mov ecx, edx
mov dword [ebp - 0x24], esi
sub dword [ebp - 0x20], 0x88008888
and dword [ebp - 0x18], 0xbb00bb
mov edi, 0xc5
mov edx, dword [ebp - 0x30]
xor dword [ebp - 0x30], 0xff
cmp edx, dword [ebp - 0x30]
jne 0x4081c7
xor eax, eax
and dword [ebp - 0x2c], 0xffffff
cmp dword [ebp - 0x24], eax
ja 0x4081c7
call dword [sym.imp.kernel32.dll_GetCommandLineA]
mov ecx, 1
mov eax, dword [ebp - 0x18]
lea edi, [ebp - 0x24]
mov eax, dword [ebp]
lea edi, [esi]
mov ecx, dword [esp]
lea edi, [edi]
lea edx, [edx]
lea edi, [edi]
mov esi, 0x34
mov edi, dword [ebp - 0x18]
lea eax, [edi]
lea ecx, [edi]
lea ecx, [ecx]
mov ax, 4
mov di, 0x60
lea edi, [esi]
mov dx, 0xf1
mov eax, dword [esp]
or dword [ebp - 0x24], 0x111111
lea esi, [ebp - 0x24]
sub dword [ebp - 0x1c], 0x11
xor edx, edx
mov dword [ebp - 0x1c], edx
or dword [ebp - 0x20], 0xff00ff
mov dx, 1
cmp edx, 0
jne 0x40823d
xor ecx, ecx
xor dword [ebp - 0x28], 0xffffff
cmp edx, 0
je 0x40823d
and dword [ebp - 0x2c], 0xffff
xor edx, edx
call dword [sym.imp.kernel32.dll_GetCommandLineA]
mov edx, edi
mov di, 0x20
lea edi, [edi]
mov dword [ebp - 0x30], eax
lea edi, [ebp - 0x24]
mov ecx, dword [ebp]
mov ecx, dword [ebp]
lea esi, [esi]
mov edi, esi
lea esi, [esi]
mov ecx, dword [ebp]
mov si, 0xad
mov di, 0xa3
mov si, 0xa0
mov dword [ebp - 0x20], edi
lea edi, [edx]
mov esi, dword [ebp]
xor dword [ebp - 0x28], 0x440044
mov edi, dword [ebp - 0x18]
mov ax, 0x79
xor edx, edx
sub dword [ebp - 0x18], 0x555555
mov eax, dword [ebp - 0x14]
mov esi, dword [eax]
mov ecx, 0x12c
add dword [ebp - 0x20], 0x20
cmp ecx, 0
jb 0x4082a9
sub edi, edi
and dword [ebp - 0x18], 0xff00ff
sub ecx, ecx
lea edi, [ebp - 0x2c]
mov cx, 4
mov edi, 0x12c
mov cx, 0x25
mov ecx, 0x14
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0x14]
mov ecx, 0x300
mov cx, 0x28
mov cx, 0x37
sub ecx, ecx
cmp ecx, 0x216
ja 0x4082ef
xor edi, edi
sub edi, edi
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x18], 0x20
add dword [ebp - 0x28], 1
xor esi, 0x15ff50f8
test esi, esi
jne 0x407b53
sub ecx, ecx
and dword [ebp - 0x1c], 0xff00ff
or dword [ebp - 0x2c], 0xff
sub edx, edx
sub dword [ebp - 0x18], 0x5a
or dword [ebp - 0x2c], 0xff
lea esi, [ebp - 0x2c]
push esi
call dword [sym.imp.kernel32.dll_lstrlenA]
mov dword [ebp - 0x24], eax
lea edi, [edi]
mov edx, 2
mov eax, dword [ebp]
lea edi, [ebp - 0x20]
mov dword [ebp - 0x30], ecx
mov eax, 1
mov si, 0xac
mov edi, dword [esp]
lea edi, [ebp - 0x30]
mov edx, 0xd4
lea ecx, [ecx]
mov edx, dword [esp]
mov ax, 0xbf
mov ecx, dword [esp]
lea esi, [edx]
lea edi, [edi]
mov esi, eax
mov dword [ebp - 0x1c], edi
mov edi, dword [esp]
sub ecx, ecx
lea edi, [ebp - 0x2c]
and dword [ebp - 0x20], 0xee0000ee
sub eax, eax
lea eax, [ebp - 0x2c]
add dword [ebp - 0x18], 0x74
cmp dword [ebp - 0x30], eax
jae 0x40838b
lea ecx, [ebp - 0x1c]
sub ecx, ecx
and dword [ebp - 0x28], 0xff
xor eax, eax
lea ecx, [ebp - 0x28]
push ecx
call dword [sym.imp.kernel32.dll_lstrlenA]
lea edi, [eax]
mov ecx, dword [esp]
lea eax, [ebp - 0x18]
mov edi, dword [esp]
mov dword [ebp - 0x1c], ecx
mov edi, dword [esp]
lea ecx, [ebp - 0x24]
mov edx, dword [esp]
mov ecx, dword [ebp]
mov ecx, dword [esp]
mov si, 4
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edi
mov esi, dword [ebp]
mov cx, 0xdb
mov di, 0x80
mov dword [ebp - 0x1c], edi
add dword [ebp - 0x18], 0xdddd
mov edi, dword [ebp]
mov dword [ebp - 0x18], 1
sub edi, edi
xor edi, edi
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], 8
mov dword [ebp - 0x30], 8
mov dword [ebp - 0x18], 1
sub eax, eax
xor eax, eax
cmp eax, 0
ja 0x408410
add dword [ebp - 0x20], 0x20
sub ecx, ecx
or dword [ebp - 0x20], 0xffff
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.kernel32.dll_lstrlenA]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp]
mov edi, esi
mov eax, 9
mov ecx, 0x20
lea edx, [ebp - 0x20]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x28], edi
lea edi, [ebp - 0x28]
lea esi, [ebp - 0x28]
mov esi, dword [esp]
lea edi, [ebp - 0x18]
mov eax, edi
mov ax, 0x21
mov ecx, 0x28
mov edi, dword [ebp - 0x18]
mov dx, 0x22
and dword [ebp - 0x1c], 0xdddddd
mov esi, ecx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x20], edx
lea edi, [edi]
mov ecx, 0x200
xor ecx, ecx
mov ecx, 0x61
mov ecx, 0x49
sub dword [ebp - 0x18], 0x21
cmp ecx, dword [ebp - 0x24]
jb 0x40849f
sub edx, edx
mov dword [ebp - 0x1c], edx
or dword [ebp - 0x20], 0xffff
cmp ecx, 0
je 0x40849f
and dword [ebp - 0x20], 0xffffff
xor edx, edx
mov dword [ebp - 0x1c], 0x4a
lea edi, [ebp - 0x30]
push edi
call dword [sym.imp.kernel32.dll_GetVersionExA]
mov edi, dword [ebp]
mov edx, dword [esp]
mov edx, 0xe9
mov dword [ebp - 0x1c], ecx
mov edi, esi
mov di, 0xd9
lea edi, [edx]
mov esi, edx
lea esi, [edi]
mov di, 8
mov edi, 0x20
mov edx, 8
mov esi, 0x10
mov dword [ebp - 0x24], edi
lea edi, [ebp - 0x20]
mov ecx, edx
mov esi, 0x20
sub dword [ebp - 0x2c], 0xdddd
mov dword [ebp - 0x28], 2
mov esi, 0x8e
lea edi, [edi]
mov edi, dword [esp]
xor edx, edx
mov dx, 2
sub dword [ebp - 0x2c], 2
or dword [ebp - 0x2c], 0xffffff
xor dword [ebp - 0x2c], 0xff
sub edx, edx
sub edx, edx
mov eax, 0x100
and dword [ebp - 0x30], 0xff00ff
mov ax, 0x1e
mov ecx, 0x64
mov cx, 4
sub dword [ebp - 0x28], 0x37
sub ecx, ecx
cmp ecx, dword [ebp - 0x28]
jne 0x408547
mov eax, dword [ebp - 0x30]
mov ax, 0x54
cmp dword [ebp - 0x30], ecx
jb 0x408547
mov eax, 0xc8
mov dword [ebp - 0x24], 0x21
mov eax, 0x7a
cmp dword [ebp - 0x1c], eax
jae 0x408567
mov ecx, 0x100
cmp ecx, dword [ebp - 0x2c]
je 0x408567
mov cx, 0x32
mov cx, 0x20
call fcn.00404950
mov ecx, 0
and dword [ebp - 0x28], 0xffffff
cmp ecx, dword [ebp - 0x20]
je 0x40858c
mov edx, 0x64
sub edx, edx
sub eax, eax
mov eax, 0x33
test eax, eax
ja 0x4085a4
mov edx, 0x100
cmp eax, 0
jbe 0x4085a4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
sub eax, eax
or dword [ebp - 0x20], 0xffffff
xor edx, edx
mov ax, 0x28
xor dword [ebp - 0x24], 0xff
and dword [ebp - 0x20], 0xffff
and dword [ebp - 0x24], 0xffffff
call fcn.0040995a
xor ecx, ecx
add dword [ebp - 0x2c], 0x80
mov cx, 0x12
sub ecx, ecx
cmp ecx, dword [ebp - 0x24]
ja 0x4085f8
mov eax, dword [ebp - 0x2c]
test eax, eax
jae 0x4085f8
xor ecx, ecx
sub dword [ebp - 0x28], 1
or dword [ebp - 0x28], 0xffff
mov dword [ebp - 0x28], 0x20
and dword [ebp - 0x1c], 0xff00ff
sub ecx, ecx
add dword [ebp - 0x20], 0x56
mov ecx, 0x10
and dword [ebp - 0x28], 0xff
xor ecx, ecx
xor ecx, ecx
cmp ecx, dword [ebp - 0x28]
jne 0x408644
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], 0x44
sub eax, eax
mov cx, 0x40
sub ecx, ecx
xor dword [ebp - 0x30], 0xff00ff
add dword [ebp - 0x18], 0x80
mov eax, 0x20
mov dword [ebp - 0x30], eax
call fcn.004072dd
mov eax, 0
mov dword [ebp - 0x18], 0x10
mov dword [ebp - 0x1c], 0x40
mov dx, 8
mov edx, 0xc8
xor eax, eax
mov dword [ebp - 0x18], 0x29
lea eax, [ebp - 0x18]
or dword [ebp - 0x2c], 0xffff
test eax, eax
jbe 0x40868e
mov ecx, 0x64
cmp dword [ebp - 0x2c], eax
jne 0x40868e
mov edi, 0x200
or dword [ebp - 0x28], 0xffffff
mov edi, 0x20
test edi, edi
jne 0x4086ac
sub edi, edi
mov dword [ebp - 0x1c], 0x66
push edi
push dword [ebp - 0x2c]
push edi
call fcn.004072dd
mov ecx, 0xc8
or dword [ebp - 0x2c], 0xff
sub dword [ebp - 0x30], 0x39
lea ecx, [ebp - 0x1c]
and dword [ebp - 0x1c], 0xff00ff
cmp ecx, 0
ja 0x4086e1
mov edx, 0
sub dword [ebp - 0x30], 0x10
lea ecx, [ebp - 0x24]
xor ecx, ecx
add dword [ebp - 0x24], 8
sub dword [ebp - 0x2c], 2
mov ecx, 0x30
mov cx, 2
sub ecx, ecx
cmp ecx, 0xb6b
jb 0x40870b
sub eax, eax
sub dword [ebp - 0x1c], 8
and dword [ebp - 0x20], 0xffffff
mov ecx, 0x64
or dword [ebp - 0x28], 0xffffff
cmp dword [ebp - 0x24], ecx
jb 0x408728
xor edx, edx
mov dword [ebp - 0x18], edx
lea edx, [ebp - 0x30]
test ecx, ecx
jae 0x408730
mov dword [ebp - 0x28], edx
mov edx, 0x80
or dword [ebp - 0x1c], 0xffffff
sub dword [ebp - 0x18], 0x4a
xor edi, edi
sub dword [ebp - 0x2c], 4
or dword [ebp - 0x28], 0xffff
mov di, 8
cmp edi, 0x8f
jae 0x408768
mov esi, 0x100
and dword [ebp - 0x24], 0xff
cmp esi, 0xac
jne 0x408768
mov si, 0x80
push edi
push dword [ebp - 0x20]
push esi
call fcn.004072dd
mov eax, 0x300
lea eax, [ebp - 0x28]
and dword [ebp - 0x30], 0xff
cmp dword [ebp - 0x18], eax
jbe 0x408797
xor ecx, ecx
mov cx, 0x21
cmp eax, 0
jbe 0x408797
xor eax, eax
sub edx, edx
mov dx, 4
test edx, edx
jne 0x4087b7
lea edx, [ebp - 0x28]
mov ecx, 0
or dword [ebp - 0x24], 0xff00ff
xor dword [ebp - 0x1c], 0xff00ff
mov esi, 0xc8
and dword [ebp - 0x28], 0xffffff
sub esi, esi
xor esi, esi
cmp esi, 0xbd8
ja 0x4087db
xor edi, edi
mov edi, 0x20
cmp edi, 0
jne 0x4087db
push esi
push dword [ebp - 0x2c]
call fcn.00404950
sub edx, edx
lea edx, [ebp - 0x20]
mov edx, 0x41
xor edx, edx
and dword [ebp - 0x20], 0xff
test edx, edx
jne 0x408802
mov eax, 0x300
xor edx, edx
sub edx, edx
and dword [ebp - 0x18], 0xff
mov dword [ebp - 0x20], edx
lea ecx, [ebp - 0x2c]
cmp edx, dword [ebp - 0x18]
jbe 0x40882c
sub ecx, ecx
mov cx, 0x68
lea edx, [ebp - 0x18]
xor edx, edx
and dword [ebp - 0x20], 0xffff
sub dword [ebp - 0x1c], 0x4d
call fcn.0040995a
mov edx, dword [ebp - 0x1c]
or dword [ebp - 0x20], 0xffffff
lea edx, [ebp - 0x20]
and dword [ebp - 0x18], 0xff
cmp edx, dword [ebp - 0x28]
jae 0x408853
mov ecx, 0x200
sub dword [ebp - 0x20], 0x5a
mov ecx, 0x100
and dword [ebp - 0x24], 0xff00ff
mov cx, 4
mov dword [ebp - 0x1c], ecx
cmp ecx, 0
jae 0x40887f
mov edx, 0
and dword [ebp - 0x28], 0xff
mov dword [ebp - 0x30], edx
cmp ecx, 0
jb 0x40887f
mov esi, 0x300
test esi, esi
je 0x4088a5
xor dword [ebp - 0x30], 0xffff
mov edx, 0xc8
and dword [ebp - 0x1c], 0xff00ff
mov dword [ebp - 0x1c], 0x45
mov dword [ebp - 0x18], edx
push esi
push dword [ebp - 0x20]
call fcn.00404950
sub eax, eax
or dword [ebp - 0x20], 0xffff
cmp eax, 0
ja 0x4088d2
mov ecx, 0xc8
add dword [ebp - 0x2c], 0x52
test eax, eax
je 0x4088d2
sub eax, eax
and dword [ebp - 0x2c], 0xffff
sub dword [ebp - 0x18], 0x42
xor eax, eax
call fcn.0040995a
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x30], 0x20
and dword [ebp - 0x2c], 0xff00ff
sub dword [ebp - 0x30], 0x67
lea ecx, [ebp - 0x18]
cmp ecx, dword [ebp - 0x20]
jbe 0x408904
sub edx, edx
cmp ecx, 0x70a
jae 0x408904
add dword [ebp - 0x1c], 0x10
or dword [ebp - 0x20], 0xff
mov edi, 0x64
and dword [ebp - 0x20], 0xffffff
cmp edi, 0x8d
jne 0x40892f
mov ecx, dword [ebp - 0x2c]
add dword [ebp - 0x30], 2
cmp ecx, dword [ebp - 0x30]
jbe 0x40892f
lea edi, [ebp - 0x1c]
push edi
push dword [ebp - 0x18]
call fcn.00404950
sub edx, edx
lea edx, [ebp - 0x1c]
xor edx, edx
mov dx, 0x61
cmp edx, 0xd6
jb 0x40895c
xor eax, eax
and dword [ebp - 0x1c], 0xffffff
cmp eax, dword [ebp - 0x28]
jbe 0x40895c
call fcn.00404950
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], 0x74
mov ax, 2
and dword [ebp - 0x20], 0xffff
lea eax, [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jae 0x40898d
xor ecx, ecx
mov ecx, dword [ebp - 0x1c]
add dword [ebp - 0x30], 0x3b
xor eax, eax
sub dword [ebp - 0x2c], 4
and dword [ebp - 0x20], 0xffffff
sub ecx, ecx
xor dword [ebp - 0x28], 0xffffff
mov dword [ebp - 0x24], 0x40
sub edx, edx
and dword [ebp - 0x30], 0xffff
call fcn.004014c9
xor edx, edx
sub ecx, ecx
xor dword [ebp - 0x20], 0xffff
sub ecx, ecx
add dword [ebp - 0x28], 0x42
leave
ret