Function at 0x402342
Capabilities:
Accept command line arguments

Disassembly:
mov eax, 0x4307c9
call fcn.00430000
sub esp, 0x194
mov al, byte [0x43bbe0]
push ebx
push esi
push edi
xor ebx, ebx
inc al
push 0xef6fffff
push 0x2d61ffff
mov byte [ebp - 0xd], bl
mov byte [0x43bbcf], al
call fcn.00411d90
push dword [0x43bc00]
mov byte [0x43bbce], al
movsx eax, byte [0x43bbc8]
push eax
call fcn.00411dc3
add word [0x43bbe0], ax
add esp, 0x10
push ebx
push ebx
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov dword [ebp - 0x4c], eax
push 0xbc81ffff
push 0x2da9ffff
mov dword [ebp - 4], ebx
call fcn.00411e4a
add word [0x43bbde], ax
mov dword [ebp - 0x20], ebx
push dword [0x43bc04]
mov byte [ebp - 4], 1
push 0x62b7ffff
call fcn.00411e04
mov byte [0x43bbca], al
movsx eax, word [0x43bbde]
push eax
push 0xfa2fffff
call fcn.00411d1f
add esp, 0x18
mov word [0x43bbde], ax
lea eax, [ebp - 0x20]
push eax
push 0x435478
push 1
push ebx
push 0x435498
push 0x1c
call fcn.004163e0
pop ecx
call eax
movsx cx, byte [0x43bbc9]
sub word [0x43bbde], cx
cmp eax, ebx
jl 0x402f3f
push dword [0x43bc00]
push 0x5619ffff
call fcn.00411d90
add dword [0x43bbe8], eax
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
add byte [0x43bbc8], al
mov dword [ebp - 0x18], ebx
lea eax, [ebp - 0x9c]
push 4
push eax
mov byte [ebp - 4], 2
call fcn.0040b745
push 0x7ef3ffff
push 0x4a9ffff
mov byte [ebp - 4], 3
call fcn.00411e04
add word [0x43bbd6], ax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.0042d1a0
add esp, 0x18
mov eax, dword [eax + 4]
mov byte [ebp - 4], 4
cmp eax, ebx
jne 0x40249a
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
mov ecx, dword [ebp - 0x20]
lea esi, [ebp - 0x18]
push esi
mov edi, 0x435488
mov edx, dword [ecx]
mov esi, 0x4354a8
push edi
push esi
push eax
push ecx
call dword [edx + 0x20]
push 1
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
movsx eax, byte [0x43bbce]
push 0x2bc9ffff
push eax
call fcn.00411d58
add word [0x43bbe4], ax
cmp dword [ebp - 0x14], 0x80070050
pop ecx
pop ecx
jne 0x4025f8
mov eax, dword [0x43bbe8]
dec word [0x43bbda]
imul eax, eax, 0x8583ffff
mov dword [0x43bc00], eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.0042d1a0
pop ecx
pop ecx
mov eax, dword [eax + 4]
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
cmp eax, ebx
mov byte [ebp - 4], 5
je 0x40252a
mov ecx, eax
mov eax, dword [ebp - 0x20]
push ecx
push eax
mov edx, dword [eax]
call dword [edx + 0x1c]
push 1
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
cmp byte [0x43bbcc], bl
je 0x402558
cmp byte [0x43bbd1], bl
je 0x402558
push 1
pop eax
jmp 0x40255a
xor eax, eax
add dword [0x43bc0c], eax
movsx eax, byte [0x43bbcd]
push eax
push 0xee67ffff
call fcn.00411d90
push dword [0x43bc08]
add word [0x43bbd6], ax
push 0xc03dffff
call fcn.00411cac
mov dword [0x43bbf0], eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.0042d1a0
add esp, 0x18
mov eax, dword [eax + 4]
mov byte [ebp - 4], 6
cmp eax, ebx
jne 0x4025b1
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x20]
push edx
push edi
push esi
push dword [ebp - 0x1c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
push 1
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
push dword [0x43bbe8]
mov byte [0x43bbc9], 1
push 0xf367ffff
call fcn.00411d90
add word [0x43bbdc], ax
pop ecx
pop ecx
movsx eax, byte [0x43bbc8]
push eax
movsx eax, byte [0x43bbd1]
push eax
call fcn.00411c25
add byte [0x43bbc8], al
movsx eax, byte [0x43bbc9]
push eax
movsx eax, word [0x43bbd6]
push eax
call fcn.00411d90
add dword [0x43bbec], eax
add esp, 0x10
cmp dword [ebp - 0x14], ebx
jl 0x402f1c
lea eax, [ebp - 0x44]
push ebx
push eax
call fcn.00420a65
pop ecx
pop ecx
mov esi, dword [0x434e58]
mov byte [ebp - 4], 7
mov al, byte [esi]
add al, 0x79
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.00430020
mov edi, dword [ebp - 0x3c]
mov ecx, esp
mov edx, esi
call fcn.0042c1e6
mov esi, eax
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
add edi, 0xfffffffc
lea ecx, [ebp - 0x44]
push dword [eax]
lea eax, [ebp - 0x5c]
push edi
push eax
call dword [sym.imp.MSVCP60.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__::substr_unsigned_int__unsigned_int_]
push eax
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 8
call fcn.0042ccd7
mov edi, eax
push esi
mov byte [ebp - 4], 9
call sub.MSVCRT.dll_strlen
add esp, 0xc
mov ecx, edi
push eax
push esi
push dword [edi + 8]
push ebx
call dword [sym.imp.MSVCP60.dll_public:_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::compare_unsigned_int__unsigned_int__char_const___unsigned_int_const]
push 1
lea ecx, [ebp - 0x34]
pop edi
mov esi, eax
push edi
mov byte [ebp - 4], 8
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push edi
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 7
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
cmp esi, ebx
je 0x402776
mov al, byte [ebp - 0x44]
push ebx
lea ecx, [ebp - 0x34]
mov byte [ebp - 0x34], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
lea ecx, [ebp - 0x34]
push dword [eax]
lea eax, [ebp - 0x44]
push ebx
push eax
call dword [sym.imp.MSVCP60.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__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov esi, dword [0x434e58]
mov byte [ebp - 4], 0xa
mov al, byte [esi]
add al, 0x79
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.00430020
mov ecx, esp
mov edx, esi
call fcn.0042c1e6
mov esi, eax
push esi
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push esi
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVCP60.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__::append_char_const___unsigned_int_]
mov ecx, dword [ebp - 0x30]
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
cmp ecx, ebx
jne 0x402746
mov ecx, eax
cmp dword [ebp - 0x40], ebx
je 0x40274e
mov eax, dword [ebp - 0x40]
push ebx
push ecx
push eax
push 0x38
call fcn.004163e0
pop ecx
call eax
lea eax, [ebp - 0x34]
lea ecx, [ebp - 0x44]
push eax
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::swap_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____]
push edi
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 7
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push dword [0x43bc00]
mov dword [0x43bbf8], eax
push 0x5d1fffff
call fcn.00411d58
mov word [0x43bbe4], ax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.0042d1a0
add esp, 0x10
mov eax, dword [eax + 4]
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
cmp eax, ebx
mov byte [ebp - 4], 0xb
je 0x4027ba
mov ecx, eax
mov eax, dword [ebp - 0x18]
push ecx
push eax
mov edx, dword [eax]
call dword [edx + 0x80]
push edi
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 7
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov al, byte [0x43bbfc]
mov dword [ebp - 0x48], 0x104
mov byte [0x43bbc9], al
movsx eax, word [0x43bbd4]
and eax, 0xdfedffff
mov dword [0x43bc0c], eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x1a0]
push eax
push 0x10
call fcn.004163e0
pop ecx
call eax
lea eax, [ebp - 0x1a0]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.0042d339
pop ecx
pop ecx
mov eax, dword [eax + 4]
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
cmp eax, ebx
mov byte [ebp - 4], 0xc
je 0x402831
mov ecx, eax
mov eax, dword [ebp - 0x18]
push ebx
push ecx
push eax
mov edx, dword [eax]
call dword [edx + 0x78]
push edi
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 7
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov eax, dword [ebp - 0x18]
push 0x2200
push eax
mov ecx, dword [eax]
call dword [ecx + 0x70]
mov eax, dword [ebp - 0x18]
push 0xffffffffffffffff
push eax
mov ecx, dword [eax]
call dword [ecx + 0xa8]
mov ax, word [0x43bbd8]
mov dword [ebp - 0x1c], ebx
add word [0x43bbd4], ax
movsx eax, byte [0x43bbca]
movsx ecx, word [0x43bbd2]
movsx edx, byte [0x43bbd0]
imul ecx, eax
add edx, dword [0x43bc0c]
lea ecx, [edx + ecx - 0x5e35ffff]
mov dword [0x43bc0c], ecx
push 0x4a27ffff
push eax
mov byte [ebp - 4], 0xd
call fcn.00411cac
mov word [0x43bbda], ax
push 0x7ae1ffff
movsx ax, byte [0x43bbcf]
sub word [0x43bbde], ax
push 0x209dffff
call fcn.00411cd8
add byte [0x43bbca], al
mov eax, dword [ebp - 0x18]
or byte [0x43bbce], 0xff
add esp, 0x10
dec word [0x43bbe2]
mov ecx, dword [eax]
lea edx, [ebp - 0x1c]
push edx
lea edx, [ebp - 0x22]
push edx
push eax
call dword [ecx + 0xc]
push dword [0x43bbf4]
mov esi, eax
push 0x52b9ffff
call fcn.00411dc3
add byte [0x43bbc8], al
pop ecx
cmp esi, ebx
pop ecx
jl 0x402ba9
movsx eax, byte [0x43bbcd]
push 0x9f13ffff
push eax
call fcn.00411d58
cmp dword [0x43bbe8], ebx
mov word [0x43bbe0], ax
mov ecx, 0x72f3ffff
push 0x30
setne al
mov byte [0x43bbcb], al
push ebx
movsx eax, word [0x43bbd6]
sub ecx, eax
lea eax, [ebp - 0x8c]
add dword [0x43bbec], ecx
push eax
call sub.MSVCRT.dll_memset
push 0x70c7ffff
push 0x2977ffff
mov word [ebp - 0x8c], 0x30
mov word [ebp - 0x84], di
mov word [ebp - 0x86], di
call fcn.00411e04
mov word [0x43bbda], ax
mov word [ebp - 0x88], 0x7cf
movsx eax, word [0x43bbd8]
push eax
push dword [0x43bbf0]
call fcn.00411d58
mov word [0x43bbe4], ax
mov eax, dword [0x43bc08]
inc eax
push 0xd65fffff
add word [0x43bbd6], ax
push 0x3bdfffff
call fcn.00411d58
push 0x4b
mov byte [0x43bbd0], al
call fcn.004163e0
add esp, 0x30
call eax
push eax
call dword [sym.imp.MSVCRT.dll_srand]
pop ecx
mov dword [ebp - 0x6c], edi
push 0x3c
mov word [ebp - 0x68], di
pop esi
mov dword [ebp - 0x78], 0x80ac0
mov dword [ebp - 0x74], esi
call dword [sym.imp.MSVCRT.dll_rand]
cdq
idiv esi
cmp word [0x43bbd4], bx
mov word [ebp - 0x7a], dx
jne 0x402a21
cmp word [0x43bbe2], bx
jne 0x402a21
xor eax, eax
jmp 0x402a23
mov eax, edi
add byte [0x43bbd1], al
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x8c]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0xc]
cmp word [0x43bbd8], bx
mov esi, eax
jne 0x402a53
cmp byte [0x43bbca], bl
mov word [0x43bbdc], bx
je 0x402a5a
mov word [0x43bbdc], di
push 0x28dffff
push 0x18f1ffff
call fcn.00411d1f
dec byte [0x43bbcd]
pop ecx
cmp esi, ebx
pop ecx
mov byte [0x43bbcc], al
jl 0x402ba9
mov eax, dword [0x43bbf4]
push dword [0x43bbfc]
add eax, 0xaf81ffff
inc dword [0x43bbf4]
push 0x1923ffff
mov dword [0x43bc00], eax
call fcn.00411cac
add dword [0x43bbfc], eax
mov eax, dword [ebp - 0x18]
pop ecx
cmp eax, ebx
pop ecx
mov dword [ebp - 0x14], ebx
je 0x402ac3
mov ecx, dword [eax]
lea edx, [ebp - 0x14]
push edx
push 0x43b0c0
push eax
call dword [ecx]
push 0xefb5ffff
push 0x7909ffff
mov byte [ebp - 4], 0xe
call fcn.00411d90
push dword [0x43bc08]
mov word [0x43bbda], ax
mov word [0x43bbe4], 0xfffe
push dword [0x43bc0c]
call fcn.00411e4a
add byte [0x43bbcd], al
add esp, 0x10
cmp dword [ebp - 0x14], ebx
je 0x402b98
movsx eax, word [0x43bbde]
push 0x4ce3ffff
push eax
call fcn.00411cd8
add dword [0x43bc08], eax
mov al, byte [0x43bbd6]
or al, byte [0x43bc04]
pop ecx
pop ecx
add byte [0x43bbca], al
cmp word [0x43bbd4], bx
jne 0x402b4b
cmp word [0x43bbdc], bx
mov dword [0x43bc0c], ebx
je 0x402b51
mov dword [0x43bc0c], edi
mov eax, dword [ebp - 0x14]
push edi
push ebx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov byte [ebp - 0xd], 1
call dword [sym.imp.USER32.dll_GetFocus]
push 0x5e81ffff
push 0x7c9dffff
mov byte [0x43bbcf], al
call fcn.00411d90
add byte [0x43bbce], al
push 0x2e27ffff
push 0xf1f1ffff
call fcn.00411dc3
add esp, 0x10
add byte [0x43bbc9], al
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0xd
cmp eax, ebx
je 0x402ba9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 0x703fffff
push dword [0x43bc04]
call fcn.00411e4a
mov word [0x43bbd8], ax
mov eax, dword [ebp - 0x1c]
pop ecx
cmp eax, ebx
pop ecx
mov byte [ebp - 4], 7
je 0x402bd2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x14], ebx
movsx eax, byte [0x43bbce]
push 0x8625ffff
push eax
mov byte [ebp - 4], 0xf
call fcn.00411d1f
mov word [0x43bbe4], ax
push 0x83ffff
movsx eax, ax
push eax
call fcn.00411e04
push 0xa005ffff
push 0x894dffff
mov word [0x43bbd8], ax
call fcn.00411d1f
add word [0x43bbe4], ax
movsx eax, byte [0x43bbcd]
and eax, 0xc28dffff
mov dword [0x43bbf4], eax
movsx eax, word [0x43bbda]
push eax
push 0xefc9ffff
call fcn.00411dc3
add esp, 0x20
lea edx, [ebp - 0x14]
mov byte [0x43bbcd], al
mov eax, dword [ebp - 0x18]
push edx
lea edx, [ebp - 0x22]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0xc]
mov cl, byte [0x43bbd8]
cmp eax, ebx
mov byte [0x43bbcf], cl
jl 0x402ec5
movsx ax, byte [0x43bbcb]
or word [0x43bbe0], 0xffff
dec eax
add word [0x43bbd2], ax
push 0x30
lea eax, [ebp - 0x8c]
push ebx
push eax
call sub.MSVCRT.dll_memset
push 0xc79bffff
push 0x7493ffff
mov word [ebp - 0x8c], 0x30
mov word [ebp - 0x84], di
mov word [ebp - 0x86], di
call fcn.00411e04
add dword [0x43bbfc], eax
mov al, byte [0x43bbcc]
neg al
mov byte [0x43bbcc], al
movsx eax, word [0x43bbd6]
push eax
movsx eax, word [0x43bbe0]
push eax
call fcn.00411d58
mov word [0x43bbd4], ax
mov word [ebp - 0x88], 0x7cf
movsx eax, word [0x43bbd2]
push eax
movsx eax, byte [0x43bbcc]
push eax
call fcn.00411d1f
mov word [0x43bbd6], ax
push 0x9d0bffff
movsx eax, byte [0x43bbce]
push eax
call fcn.00411cd8
add byte [0x43bbd1], al
mov dword [0x43bbf4], 0xcf77ffff
movsx eax, byte [0x43bbc8]
push eax
mov dword [ebp - 0x6c], 7
push dword [0x43bc0c]
call fcn.00411d1f
add esp, 0x34
cmp dword [0x43bbe8], ebx
mov dword [0x43bbec], eax
jne 0x402d64
cmp byte [0x43bbd0], bl
mov word [0x43bbe2], bx
je 0x402d6b
mov word [0x43bbe2], di
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x8c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
sub dword [0x43bc04], 0xc000001
push 0x4ce5ffff
push 0x9177ffff
mov esi, eax
call fcn.00411d1f
add byte [0x43bbd0], al
push 0xc101ffff
push 0x21fbffff
call fcn.00411dc3
add byte [0x43bbcf], al
add esp, 0x10
cmp esi, ebx
jl 0x402ec5
movsx eax, word [0x43bbdc]
push 0x536dffff
push eax
call fcn.00411e4a
add word [0x43bbd8], ax
inc dword [0x43bc00]
movsx eax, byte [0x43bbd0]
push 0x42d9ffff
push eax
call fcn.00411e4a
add byte [0x43bbcc], al
mov ecx, dword [ebp - 0x18]
add esp, 0x10
xor eax, eax
cmp ecx, ebx
mov dword [ebp - 0x1c], eax
je 0x402e13
mov eax, dword [ecx]
lea edx, [ebp - 0x1c]
push edx
push 0x43b0c0
push ecx
call dword [eax]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp byte [0x43bbce], bl
mov byte [ebp - 4], 0x10
setne cl
add dword [0x43bbf0], ecx
cmp eax, ebx
je 0x402eb7
movsx ecx, byte [0x43bbc8]
or ecx, 0xfd95ffff
push edi
add dword [0x43bbfc], ecx
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx + 0x18]
mov ax, word [0x43bbda]
mov byte [ebp - 0xd], 1
add word [0x43bbde], ax
movsx eax, byte [0x43bbca]
push eax
push 0x427bffff
call fcn.00411cac
inc dword [0x43bbf4]
push 0xe463ffff
push 0xbb61ffff
mov dword [0x43bbf0], eax
call fcn.00411dc3
push dword [0x43bc0c]
mov word [0x43bbdc], ax
mov al, byte [0x43bbcf]
push dword [0x43bc04]
neg al
mov byte [0x43bbca], al
call fcn.00411d90
add esp, 0x18
add dword [0x43bbf4], eax
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
mov byte [ebp - 4], 0xf
je 0x402ec5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [0x43bc0c]
push 0x7ff9ffff
call fcn.00411cd8
add dword [0x43bbe8], eax
push 0xb753ffff
movsx eax, word [0x43bbd4]
push eax
call fcn.00411c63
add word [0x43bbe0], ax
mov eax, dword [ebp - 0x14]
add esp, 0x10
dec byte [0x43bbca]
cmp eax, ebx
mov byte [ebp - 4], 7
je 0x402f0e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push edi
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 2
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 1
cmp eax, ebx
je 0x402f3f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], bl
cmp eax, ebx
je 0x402f4f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x4c], 0x80010106
je 0x402f66
push 0x20
call fcn.004163e0
pop ecx
call eax
mov ecx, dword [ebp - 0xc]
mov al, byte [ebp - 0xd]
lea esp, [ebp - 0x1ac]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret