Function at 0x432c80
Capabilities:
Write file on windows

Disassembly:
push ebp
mov eax, 0x520422
mov ebp, esp
sub esp, 0x1b8
mov dword [ebp - 8], esi
lea edx, [ebp - 0x18]
mov esi, dword [ebp + 8]
mov dword [ebp - 0xc], ebx
lea ecx, [ebp - 0x16c]
mov ebx, sym.___gxx_personality_sj0
mov dword [ebp - 4], edi
mov edi, 0x433040
mov dword [ebp - 0x174], esi
mov dword [ebp - 0x154], ebx
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], edx
mov dword [esp], ecx
mov dword [ebp - 0x148], edi
mov dword [ebp - 0x144], esp
call sym.__Unwind_SjLj_Register
mov esi, dword [ebp - 0x174]
movzx ecx, word [esi]
movzx ebx, cx
cmp bx, 0x4853
sete dl
cmp bx, 0x5a53
sete al
or al, dl
jne 0x432d20
cmp cx, 0x2442
je 0x432d20
lea edx, [ebp - 0x16c]
mov dword [esp], edx
call sym.__Unwind_SjLj_Unregister
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x174]
mov edx, dword [ecx + 0xcc]
test edx, edx
mov dword [ebp - 0x178], edx
je 0x432d00
xor eax, eax
dec edx
js 0x432d47
mov edi, dword [ebp - 0x174]
mov eax, dword [edi + 0xc4]
mov dword [ebp - 0x17c], eax
mov edi, 0xffffffff
mov ebx, 0x532f88
mov dword [ebp - 0x28], 0x563578
mov dword [esp], 0x563578
mov dword [ebp - 0x168], edi
call sub.KERNEL32.dll_EnterCriticalSection
mov esi, dword [str.._data]
sub esp, 4
mov ecx, str.elf.log
mov dword [esp + 0xc], ecx
lea eax, [ebp - 0x138]
mov edx, 1
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [ebp - 0x168], edx
call sym._sprintf
mov eax, 0x532f96
lea edx, [ebp - 0x138]
mov dword [esp + 4], eax
mov dword [esp], edx
call sym._fopen
mov dword [ebp - 0x180], eax
test eax, eax
je 0x432e8c
mov ebx, dword [ebp - 0x174]
xor edx, edx
mov eax, dword [ebx + 0xf8]
test eax, eax
jne 0x43307e
mov dword [ebp - 0x170], edx
mov edx, dword [ebp - 0x180]
xor eax, eax
mov dword [esp + 4], eax
mov ebx, 2
mov dword [esp + 8], ebx
mov dword [esp], edx
call sym._fseek
mov edi, dword [ebp - 0x180]
mov ecx, 1
mov dword [ebp - 0x168], ecx
mov dword [esp], edi
call sym._ftell
test eax, eax
jne 0x432e48
mov edx, dword [ebp - 0x180]
mov edi, 1
mov ecx, 4
mov dword [esp + 8], edi
lea esi, [ebp - 0x170]
mov dword [esp + 4], ecx
mov dword [esp + 0xc], edx
mov dword [esp], esi
call sym._fwrite
mov edi, dword [ebp - 0x180]
mov esi, 0x15
mov eax, 1
mov dword [esp + 4], esi
mov ecx, dword [ebp - 0x178]
mov ebx, dword [ebp - 0x17c]
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
mov dword [esp], ebx
mov dword [ebp - 0x168], eax
call sym._fwrite
mov edx, dword [ebp - 0x180]
mov dword [esp], edx
call sym._fclose
mov edx, dword [ebp - 0x178]
xor eax, eax
mov esi, 0x8d
mov dword [esp + 0xc], eax
mov ebx, dword [ebp - 0x17c]
mov eax, 1
mov dword [esp + 4], esi
lea edi, [edx + edx*4]
lea ecx, [edx + edi*4]
mov dword [esp + 8], ecx
mov dword [esp], ebx
mov dword [ebp - 0x168], eax
call sym.SendDataToPush_char__unsigned_char__unsigned_int__unsigned_short_
mov eax, dword [ebp - 0x178]
dec eax
mov dword [ebp - 0x184], eax
js 0x43301c
mov edi, dword [ebp - 0x174]
lea esi, [eax + eax*4]
mov ecx, dword [ebp - 0x184]
add edi, 0xc4
lea ebx, [ecx + esi*4]
mov dword [ebp - 0x188], edi
mov dword [ebp - 0x19c], ebx
mov eax, dword [ebp - 0x184]
xor edx, edx
test eax, eax
mov dword [ebp - 0x18c], eax
js 0x433089
mov esi, dword [ebp - 0x188]
mov ebx, dword [esi + 8]
dec ebx
cmp ebx, dword [ebp - 0x184]
jl 0x433089
test dl, dl
jne 0x433009
mov ebx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x18c]
mov edx, dword [ebx + 8]
mov edi, edx
sub edi, eax
dec edi
je 0x432fdf
mov esi, dword [ebp - 0x18c]
cmp edx, esi
mov dword [ebp - 0x190], esi
jle 0x432fdf
mov edx, dword [ebp - 0x19c]
mov dword [ebp - 0x198], edx
mov ecx, dword [ebp - 0x188]
mov edi, dword [ebp - 0x198]
mov esi, dword [ecx]
add edi, esi
lea esi, [edi + 0x15]
mov ecx, dword [esi + 5]
movzx edx, word [edi + 0x15]
movzx ebx, word [esi + 2]
movzx eax, byte [esi + 4]
mov dword [edi + 5], ecx
mov ecx, 1
mov word [edi], dx
mov edx, dword [esi + 9]
mov word [edi + 2], bx
mov ebx, dword [esi + 0xd]
mov byte [edi + 4], al
lea eax, [edi + 0x26]
mov dword [edi + 9], edx
mov dword [edi + 0xd], ebx
add edi, 0x11
mov dword [esp + 4], eax
mov dword [esp], edi
mov dword [ebp - 0x168], ecx
call method.MWORD.operator_MWORD_const_
inc dword [ebp - 0x190]
mov eax, dword [ebp - 0x188]
add dword [ebp - 0x198], 0x15
mov edi, dword [ebp - 0x190]
cmp dword [eax + 8], edi
jg 0x432f69
mov edx, dword [ebp - 0x188]
mov eax, dword [edx + 0xc]
dec dword [edx + 8]
cmp eax, dword [ebp - 0x18c]
jle 0x432ff7
dec eax
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 0x188]
mov eax, dword [ecx + 8]
dec eax
cmp dword [ecx + 0xc], eax
jle 0x433009
mov dword [ecx + 0xc], eax
sub dword [ebp - 0x19c], 0x15
dec dword [ebp - 0x184]
jns 0x432efb
mov ebx, dword [ebp - 0x28]
mov eax, 0xffffffff
mov dword [ebp - 0x168], eax
mov dword [esp], ebx
call sub.KERNEL32.dll_LeaveCriticalSection
sub esp, 4
jmp 0x432d00
mov esi, dword [eax + 8]
mov edx, dword [esi + 6]
jmp 0x432dde
mov edx, 1
jmp 0x432f27