Function at 0x7c43208e
Capabilities:
Write file on windows

Disassembly:
push 0x54
mov eax, 0x7c451972
call fcn.7c450635
mov edi, dword [ebp + 8]
cmp di, 0xffff
mov esi, ecx
jne 0x7c4320b1
xor ax, ax
call fcn.7c4506b8
ret 4
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
xor ebx, ebx
cmp ecx, ebx
je 0x7c4320dc
mov eax, dword [esi + 0x34]
mov edx, dword [eax]
lea edx, [ecx + edx*2]
cmp ecx, edx
jae 0x7c4320dc
dec dword [eax]
mov esi, dword [esi + 0x24]
mov eax, dword [esi]
lea ecx, [eax + 2]
mov dword [esi], ecx
mov word [eax], di
mov ax, di
jmp 0x7c4320a9
mov eax, dword [esi + 0x4c]
cmp eax, ebx
jne 0x7c4320e9
or ax, 0xffff
jmp 0x7c4320a9
cmp dword [esi + 0x3c], ebx
jne 0x7c432105
push eax
push edi
call fcn.7c427b38
pop ecx
test al, al
pop ecx
movzx eax, di
jne 0x7c4320a9
mov eax, 0xffff
jmp 0x7c4320a9
movzx eax, di
push ebx
push 8
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x30], eax
call sym.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_unsigned_int__char_
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], ebx
call sym.MSVCP80.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, eax
call fcn.7c422081
mov edi, dword [ebp - 0x18]
mov ebx, eax
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x2c]
call sym.MSVCP80.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, eax
call fcn.7c422081
lea edx, [ebp - 0x38]
add edi, ebx
push edx
lea ebx, [esi + 0x44]
jmp 0x7c4321f7
cmp eax, 1
jg 0x7c432232
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x2c]
call sym.MSVCP80.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, eax
call fcn.7c422081
mov edi, dword [ebp - 0x38]
sub edi, eax
je 0x7c43219c
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x2c]
call sym.MSVCP80.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, eax
call fcn.7c422081
push dword [esi + 0x4c]
push edi
push 1
push eax
call dword [sym.imp.MSVCR80.dll_fwrite]
add esp, 0x10
cmp edi, eax
jne 0x7c432219
lea eax, [ebp - 0x30]
cmp dword [ebp - 0x3c], eax
mov byte [esi + 0x42], 1
jne 0x7c432253
test edi, edi
ja 0x7c4321c2
cmp dword [ebp - 0x18], 0x20
jae 0x7c432219
push 0
push 8
lea ecx, [ebp - 0x2c]
call sym.MSVCP80.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_unsigned_int__char_
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x2c]
call sym.MSVCP80.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, eax
call fcn.7c422081
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x2c]
call sym.MSVCP80.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, eax
call fcn.7c422081
lea edx, [ebp - 0x38]
push edx
mov edx, dword [ebp - 0x40]
add edi, edx
mov ecx, dword [esi + 0x3c]
push edi
push eax
lea edx, [ebp - 0x3c]
push edx
lea edx, [ebp - 0x2e]
push edx
lea edx, [ebp - 0x30]
push edx
mov dword [ebp - 0x34], eax
mov eax, dword [ecx]
push ebx
call dword [eax + 0x14]
test eax, eax
jge 0x7c432152
or si, 0xffff
push 0
push 1
lea ecx, [ebp - 0x2c]
call sym.MSVCP80.dll_protected:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool__unsigned_int_
mov ax, si
jmp 0x7c4320a9
cmp eax, 3
jne 0x7c432219
push dword [esi + 0x4c]
push dword [ebp - 0x30]
call fcn.7c427b38
test al, al
movzx esi, word [ebp + 8]
pop ecx
pop ecx
jne 0x7c43221e
mov esi, 0xffff
jmp 0x7c43221e
mov si, word [ebp + 8]
jmp 0x7c43221e