Function at 0x409690
Capabilities:
Accept command line arguments
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x418c6e
mov eax, dword fs:[0]
push eax
sub esp, 0x1a0
mov eax, dword [0x420004]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
xor eax, eax
mov dword [ebp - 0x114], eax
call dword [sym.imp.KERNEL32.dll_GetThreadUILanguage]
and eax, 0x3ff
cmp eax, 4
je 0x4096e6
cmp eax, 9
je 0x4096e6
push 9
call dword [sym.imp.KERNEL32.dll_SetThreadUILanguage]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
push 0x40
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
call fcn.00411978
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x24], eax
push 0
mov dword [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
xor esi, esi
mov edi, eax
push esi
push 1
push str.Translations
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceExW]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x40976b
push eax
push edi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, eax
test esi, esi
je 0x40976b
push dword [ebp - 0x18]
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x40976b
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
jmp 0x40978f
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x40977f
movzx eax, ax
or eax, 0x80070000
test eax, eax
je 0x409b8a
test eax, eax
js 0x409b8a
xor eax, eax
xor ecx, ecx
mov byte [ebp - 4], 1
mov dword [ebp - 0x144], ecx
push esi
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x134], ecx
mov byte [ebp - 0x144], cl
lea ecx, [ebp - 0x144]
push eax
mov dword [ebp - 0x130], 0xf
call fcn.0040b550
cmp dword [ebp - 0x130], 0x10
lea ecx, [ebp - 0x144]
jb 0x409803
mov ecx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], ecx
push eax
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0
call fcn.0040d470
mov edx, eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xb0]
call fcn.00409370
mov esi, dword [ebp - 0x170]
mov eax, 1
mov dword [ebp - 0x114], eax
test esi, esi
je 0x409881
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x409881
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x409881
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x130]
cmp edx, 0x10
jb 0x4098bf
mov ecx, dword [ebp - 0x144]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4098b5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a5e6
push edx
push ecx
call fcn.004119a8
add esp, 8
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0xf
mov byte [ebp - 0x144], 0
mov esi, dword [eax]
mov dword [ebp - 0x110], eax
cmp esi, eax
je 0x409b27
mov edi, dword [esi + 0x28]
lea ecx, [ebp - 0x12c]
push 0
mov dword [ebp - 0x12c], 0
push 0x41b49b
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
call fcn.0040b550
lea eax, [ebp - 0x12c]
mov ecx, edi
push eax
lea eax, [ebp - 0xc8]
push eax
call fcn.0040a610
mov edx, eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x164]
call fcn.00410e30
mov edi, eax
lea eax, [esi + 0x10]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x19c]
call fcn.0040b110
mov eax, dword [edi]
mov dword [ebp - 0x184], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x180], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x17c], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x178], eax
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x174], eax
mov eax, dword [edi + 0x14]
or dword [ebp - 0x114], 4
mov dword [ebp - 0x170], eax
xor eax, eax
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 7
mov word [edi], ax
lea eax, [ebp - 0x19c]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x24]
call fcn.0040d620
lea ecx, [ebp - 0x19c]
call fcn.0040a760
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x150]
cmp edx, 8
jb 0x409a1d
mov ecx, dword [ebp - 0x164]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x409a13
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a5eb
push edx
push ecx
call fcn.004119a8
add esp, 8
xor eax, eax
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x150], 7
mov word [ebp - 0x164], ax
cmp edx, 0x10
jb 0x409a78
mov ecx, dword [ebp - 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409a6e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a5eb
push edx
push ecx
call fcn.004119a8
add esp, 8
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x118]
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0xf
mov byte [ebp - 0xc8], 0
cmp edx, 0x10
jb 0x409ad1
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409ac7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a5eb
push edx
push ecx
call fcn.004119a8
add esp, 8
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x409b00
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x409af3
cmp esi, dword [eax + 8]
jne 0x409af3
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x409ae3
mov esi, eax
mov eax, dword [ebp - 0x110]
jmp 0x4098e8
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x409b1c
lea ebx, [ebx]
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x409b10
mov eax, dword [ebp - 0x110]
jmp 0x4098e8
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xb0], vtable.toml::v2::table.0
push dword [eax + 4]
lea eax, [ebp - 0x9c]
push eax
mov ecx, eax
call fcn.0040d910
push 0x2c
push dword [ebp - 0x9c]
call fcn.004119a8
mov esi, dword [ebp - 0xa0]
add esp, 8
test esi, esi
je 0x409b83
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x409b83
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x409b83
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [ebp - 4], 0
push 0x40
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
call fcn.00411978
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0xd0], eax
mov byte [ebp - 4], 0xb
mov esi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff6
mov dword [ebp - 0x10c], 0x40f700
mov dword [ebp - 0x108], 0x40f720
mov dword [ebp - 0x104], 0x40f740
mov dword [ebp - 0x100], 0x40f760
mov dword [ebp - 0xfc], 0x40f780
mov dword [ebp - 0xf8], 0x40f9e0
mov dword [ebp - 0xf4], 0x40fa90
mov dword [ebp - 0xf0], 0x40fc70
mov dword [ebp - 0xec], 0x44
mov dword [ebp - 0xe8], 0
call esi
push 0xfffffffffffffff5
mov dword [ebp - 0xe4], eax
call esi
mov dword [ebp - 0xe0], eax
lea eax, [ebp - 0x10c]
push str.NSudo_Plugin_Host_9.0_Preview_1__Build_2676__r_n_c__M2_Team._All_rights_reserved._r_n_r_n
push eax
mov byte [ebp - 0xdc], 1
call dword [ebp - 0xfc]
mov esi, dword [ebp - 0xfc]
lea ecx, [ebp - 0x12c]
push 0xb
mov dword [ebp - 0x12c], 0
push str.WarningText
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
call fcn.0040b550
lea eax, [ebp - 0x12c]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x24]
call fcn.0040ad80
cmp dword [eax + 0x14], 8
jb 0x409caf
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x10c]
push eax
call esi
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x118]
cmp edx, 0x10
jb 0x409cff
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409cf5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a5f0
jmp 0x409cf5
push edx
push ecx
call fcn.004119a8
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov edx, eax
mov dword [ebp - 0x60], 0
mov ecx, edx
mov dword [ebp - 0x50], 0
xor eax, eax
mov dword [ebp - 0x4c], 7
mov word [ebp - 0x60], ax
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x409d27
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x60]
call fcn.0040b3f0
xor eax, eax
mov byte [ebp - 4], 0xd
lea edx, [ebp - 0x60]
mov dword [ebp - 0x48], eax
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
call fcn.00410480
mov byte [ebp - 4], 0xe
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x48]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 3
jae 0x409e8f
mov esi, dword [ebp - 0xfc]
lea ecx, [ebp - 0x12c]
push 0x13
mov dword [ebp - 0x12c], 0
push str.CommandLineHelpText
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
call fcn.0040b550
lea eax, [ebp - 0x12c]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x24]
call fcn.0040ad80
cmp dword [eax + 0x14], 8
jb 0x409dd8
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x10c]
push eax
call esi
mov edx, dword [ebp - 0x118]
cmp edx, 0x10
jb 0x409e1c
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409e12
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a5f5
push edx
push ecx
call fcn.004119a8
add esp, 8
lea ecx, [ebp - 0x48]
call fcn.0040a810
mov edx, dword [ebp - 0x4c]
cmp edx, 8
jb 0x409e5e
mov ecx, dword [ebp - 0x60]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x409e54
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a609
push edx
push ecx
call fcn.004119a8
add esp, 8
xor eax, eax
mov dword [ebp - 0x50], 0
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x4c], 7
mov word [ebp - 0x60], ax
call fcn.0040aec0
lea ecx, [ebp - 0x24]
call fcn.0040aec0
mov eax, 0x80070057
jmp 0x40a5ca
lea eax, [esi + 0x18]
push eax
lea ecx, [ebp - 0xc8]
call fcn.0040b010
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x78]
mov eax, dword [ebp - 0x48]
add eax, 0x30
push eax
call fcn.0040b010
xor ecx, ecx
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 7
mov word [ebp - 0x90], cx
mov byte [ebp - 4], 0x12
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x48]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 3
jbe 0x409fce
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x28]
add ecx, dword [esi + 0x40]
add eax, 3
add ecx, eax
cmp dword [ebp - 0x4c], 8
lea eax, [ebp - 0x60]
jb 0x409f12
mov eax, dword [ebp - 0x60]
lea eax, [eax + ecx*2]
add eax, 0xfffffffe
push 0x41c2b8
push eax
call dword [sym.imp.msvcrt.dll_wcsstr]
mov ecx, eax
add esp, 8
add ecx, 2
je 0x409f3b
mov edi, edi
cmp word [ecx], 0x20
jne 0x409f3b
add ecx, 2
jne 0x409f30
mov edx, ecx
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 7
lea esi, [edx + 2]
mov edi, edi
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x409f60
sub edx, esi
sar edx, 1
push edx
push ecx
lea ecx, [ebp - 0x12c]
call fcn.0040b3f0
lea eax, [ebp - 0x12c]
push eax
lea ecx, [ebp - 0x90]
call fcn.0040af70
mov edx, dword [ebp - 0x118]
cmp edx, 8
jb 0x409fce
mov ecx, dword [ebp - 0x12c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x409fc4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a609
push edx
push ecx
call fcn.004119a8
add esp, 8
lea ecx, [ebp - 0x3c]
call fcn.00411010
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x3c]
cmp dword [ebp - 0x28], 8
jb 0x409fe6
mov eax, dword [ebp - 0x3c]
push 0x5c
push eax
call dword [sym.imp.msvcrt.dll_wcsrchr]
xor ecx, ecx
add esp, 8
mov word [eax], cx
lea ecx, [ebp - 0x3c]
mov edx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x3c]
cmp edx, 8
jb 0x40a007
mov ecx, edi
lea esi, [ecx + 2]
lea ebx, [ebx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40a010
sub ecx, esi
mov esi, dword [ebp - 0x2c]
sar ecx, 1
cmp ecx, esi
ja 0x40a03b
lea eax, [ebp - 0x3c]
cmp edx, 8
jb 0x40a030
mov eax, edi
xor edx, edx
mov dword [ebp - 0x2c], ecx
mov word [eax + ecx*2], dx
jmp 0x40a099
mov eax, dword [ebp - 0x28]
mov edx, ecx
sub edx, esi
sub eax, esi
cmp edx, eax
ja 0x40a087
cmp dword [ebp - 0x28], 8
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x110], eax
jb 0x40a062
mov eax, edi
mov dword [ebp - 0x110], edi
lea edi, [eax + esi*2]
test edx, edx
je 0x40a076
xor eax, eax
mov ecx, edx
shr ecx, 1
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
mov ecx, dword [ebp - 0x110]
lea eax, [esi + edx]
xor edx, edx
mov word [ecx + eax*2], dx
jmp 0x40a099
push ecx
push edx
mov byte [ebp - 0x18], 0
lea ecx, [ebp - 0x3c]
push dword [ebp - 0x18]
push edx
call fcn.0040da40
cmp dword [ebp - 0x7c], 8
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x16c], ecx
jb 0x40a0b7
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x16c], eax
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x78]
or dword [ebp - 0x114], 0x10
cmp dword [ebp - 0x64], 8
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x150], 0xf
mov byte [ebp - 0x164], 0
jb 0x40a0f3
mov eax, dword [ebp - 0x78]
mov edi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push 0
push 0
push 0
push 0
push dword [ebp - 0x68]
push eax
push 0
push 0xfde9
call edi
mov esi, eax
test esi, esi
jle 0x40a162
push ecx
push esi
lea ecx, [ebp - 0x164]
call fcn.00411390
cmp dword [ebp - 0x150], 0x10
lea ecx, [ebp - 0x164]
jb 0x40a136
mov ecx, dword [ebp - 0x164]
cmp dword [ebp - 0x64], 8
lea eax, [ebp - 0x78]
jb 0x40a142
mov eax, dword [ebp - 0x78]
push 0
push 0
push esi
push ecx
push dword [ebp - 0x68]
push eax
push 0
push 0xfde9
call edi
push ecx
push eax
lea ecx, [ebp - 0x164]
call fcn.00411390
cmp dword [ebp - 0x150], 0x10
lea ecx, [ebp - 0x164]
mov dword [ebp - 0x18], ecx
jb 0x40a17d
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x2c]
mov eax, 0x7ffffffe
sub eax, edx
mov dword [ebp - 0x110], edx
cmp eax, 1
jb 0x40a5fa
cmp dword [ebp - 0x28], 8
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x168], ecx
jb 0x40a1ae
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x168], eax
lea eax, [edx + 1]
mov dword [ebp - 0x12c], 0
mov esi, 7
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0
lea edi, [ebp - 0x12c]
mov dword [ebp - 0x148], eax
cmp eax, esi
jbe 0x40a279
mov esi, eax
or esi, 7
cmp esi, 0x7ffffffe
jbe 0x40a1fc
mov esi, 0x7ffffffe
jmp 0x40a206
cmp esi, 0xa
jae 0x40a206
mov esi, 0xa
xor ecx, ecx
mov eax, esi
add eax, 1
setb cl
neg ecx
or ecx, eax
cmp ecx, 0x7fffffff
ja 0x40a604
add ecx, ecx
cmp ecx, 0x1000
jb 0x40a257
lea eax, [ecx + 0x23]
cmp eax, ecx
jbe 0x40a604
push eax
call fcn.00411978
add esp, 4
test eax, eax
je 0x40a5ff
mov edx, dword [ebp - 0x110]
lea edi, [eax + 0x23]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x40a270
test ecx, ecx
je 0x40a26e
push ecx
call fcn.00411978
mov edx, dword [ebp - 0x110]
add esp, 4
mov edi, eax
jmp 0x40a270
xor edi, edi
mov dword [ebp - 0x12c], edi
lea eax, [edx + 1]
mov dword [ebp - 0x118], esi
lea esi, [edx + edx]
push esi
push dword [ebp - 0x168]
mov dword [ebp - 0x11c], eax
push edi
call sub.msvcrt.dll_memcpy
mov eax, 0x5c
xor ecx, ecx
mov word [edi + esi], ax
add esp, 0xc
mov eax, dword [ebp - 0x148]
or dword [ebp - 0x114], 0x20
mov word [edi + eax*2], cx
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0x12c]
call fcn.0040e210
mov edx, eax
mov ecx, dword [edx]
mov dword [ebp - 0x144], ecx
mov ecx, dword [edx + 4]
mov dword [ebp - 0x140], ecx
mov ecx, dword [edx + 8]
mov dword [ebp - 0x13c], ecx
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x138], ecx
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x134], ecx
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x130], eax
xor eax, eax
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 7
mov word [edx], ax
lea edx, [ebp - 0x144]
cmp dword [ebp - 0x130], 8
jb 0x40a329
mov edx, dword [ebp - 0x144]
push dword [ebp - 0x16c]
lea ecx, [ebp - 0x10c]
push dword [ebp - 0x18]
call fcn.0040fd70
mov edx, dword [ebp - 0x130]
mov esi, eax
cmp edx, 8
jb 0x40a37f
mov ecx, dword [ebp - 0x144]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40a375
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a5ff
push edx
push ecx
call fcn.004119a8
add esp, 8
mov edx, dword [ebp - 0x118]
xor eax, eax
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 7
mov word [ebp - 0x144], ax
cmp edx, 8
jb 0x40a3dc
mov ecx, dword [ebp - 0x12c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40a3d2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a5ff
push edx
push ecx
call fcn.004119a8
add esp, 8
mov edx, dword [ebp - 0x150]
xor eax, eax
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 7
mov word [ebp - 0x12c], ax
cmp edx, 0x10
jb 0x40a433
mov ecx, dword [ebp - 0x164]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a429
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a5ff
push edx
push ecx
call fcn.004119a8
add esp, 8
mov edx, dword [ebp - 0x28]
cmp edx, 8
jb 0x40a46d
mov ecx, dword [ebp - 0x3c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40a463
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a609
push edx
push ecx
call fcn.004119a8
add esp, 8
mov edx, dword [ebp - 0x7c]
xor eax, eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], ax
cmp edx, 8
jb 0x40a4be
mov ecx, dword [ebp - 0x90]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40a4b4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a609
push edx
push ecx
call fcn.004119a8
add esp, 8
mov edx, dword [ebp - 0x64]
xor eax, eax
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 7
mov word [ebp - 0x90], ax
cmp edx, 8
jb 0x40a50f
mov ecx, dword [ebp - 0x78]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40a505
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a609
push edx
push ecx
call fcn.004119a8
add esp, 8
mov edx, dword [ebp - 0xb4]
xor eax, eax
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 7
mov word [ebp - 0x78], ax
cmp edx, 8
jb 0x40a563
mov ecx, dword [ebp - 0xc8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40a559
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a609
push edx
push ecx
call fcn.004119a8
add esp, 8
lea ecx, [ebp - 0x48]
call fcn.0040a810
mov edx, dword [ebp - 0x4c]
cmp edx, 8
jb 0x40a5a1
mov ecx, dword [ebp - 0x60]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40a597
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a609
push edx
push ecx
call fcn.004119a8
add esp, 8
xor eax, eax
mov dword [ebp - 0x50], 0
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x4c], 7
mov word [ebp - 0x60], ax
call fcn.0040aec0
lea ecx, [ebp - 0x24]
call fcn.0040aec0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0041196a
mov esp, ebp
pop ebp
ret
call fcn.004126f0
call fcn.004126f0
call fcn.004126f0
call fcn.004126f0
call fcn.004011c0
call fcn.004126f0
call fcn.00401100
call fcn.004126f0
int3