Function at 0x49c1f4
Capabilities:
Write file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x106c
call fcn.004a98b0
mov eax, dword [0x4dd52c]
push ebx
xor ebx, ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
mov edx, dword [esi + 0x3ea8]
mov dword [ebp - 0x1038], eax
mov al, byte [esi + 0x96ec]
push edi
xor edi, edi
movzx ecx, al
movzx ecx, byte [ecx + 0x4dcf40]
inc edi
cmp al, 6
mov dword [ebp - 0x1020], ebx
mov dword [ebp - 0x1024], edi
mov dword [ebp - 0x1034], ebx
mov dword [ebp - 0x1044], ebx
mov byte [ebp - 0x1019], bl
mov dword [ebp - 0x1068], ebx
mov dword [ebp - 0x1054], ebx
mov dword [ebp - 0x1050], ebx
mov dword [ebp - 0x104c], ebx
mov dword [ebp - 0x1048], ebx
mov dword [ebp - 0x1040], ebx
mov dword [ebp - 0x103c], ebx
mov dword [ebp - 0x106c], edx
mov dword [ebp - 0x1018], ebx
je 0x49c29e
cmp al, bl
jbe 0x49c29e
lea eax, [edx + ecx - 1]
cdq
idiv ecx
mov dword [esi + 0x3ea8], eax
cmp word [esi + 0x1bf2a], 2
jne 0x49c2cf
cmp dword [esi + 0x1f79c], edi
jbe 0x49c2be
mov eax, dword [esi + 0x1f7a4]
cmp dword [eax + 0x1e068], edi
jne 0x49c2cf
xor eax, eax
mov ax, word [esi + 0x8a36]
mov dword [ebp - 0x1024], eax
jmp 0x49c2d5
mov dword [ebp - 0x1024], edi
push ebx
push ebx
push ebx
push dword [esi + 0x8148]
call fcn.004809d9
mov eax, dword [esi + 0x3eb8]
push eax
mov dword [ebp - 0x102c], eax
lea eax, [ebp - 0x1044]
push eax
lea eax, [ebp - 0x1034]
push eax
lea eax, [ebp - 0x1024]
push eax
push esi
call fcn.00486ef4
cmp word [ebp - 0x1034], bx
jne 0x49c337
lea eax, [ebp - 0x1018]
push eax
push edi
lea eax, [ebp - 0x1020]
push eax
push dword [ebp - 0x102c]
push dword [esi + 0x8148]
push esi
call fcn.00499356
jmp 0x49c343
push esi
call fcn.0049c169
mov dword [ebp - 0x1020], eax
cmp byte [esi + 0x977e], 1
je 0x49c355
cmp byte [esi + 0x978c], 1
jne 0x49c392
push 0x16
push esi
call fcn.004a5597
test eax, eax
jne 0x49c392
mov eax, dword [ebp - 0x1020]
push eax
push dword [esi + 0x8148]
mov dword [ebp - 0x1054], edi
push esi
mov dword [ebp - 0x104c], eax
call fcn.004992c0
mov dword [ebp - 0x1020], eax
sub eax, dword [ebp - 0x104c]
mov dword [ebp - 0x1040], eax
cmp byte [esi + 0x9785], 1
je 0x49c3a4
cmp byte [esi + 0x978c], 1
jne 0x49c3e1
push 0x16
push esi
call fcn.004a5597
test eax, eax
jne 0x49c3e1
mov eax, dword [ebp - 0x1020]
push eax
push dword [esi + 0x8148]
mov dword [ebp - 0x1050], edi
push esi
mov dword [ebp - 0x1048], eax
call fcn.004992c0
mov dword [ebp - 0x1020], eax
sub eax, dword [ebp - 0x1048]
mov dword [ebp - 0x103c], eax
mov eax, dword [esi + 0x3ea8]
add eax, 3
push 4
cdq
pop ecx
idiv ecx
cmp word [ebp - 0x1024], bx
mov dword [ebp - 0x1030], ebx
mov dword [ebp - 0x1028], eax
jle 0x49c620
cmp dword [ebp - 0x1054], ebx
je 0x49c458
push dword [ebp - 0x1040]
mov eax, dword [ebp - 0x104c]
cdq
push ebx
push edx
push eax
push dword [esi + 0x8148]
mov dword [ebp - 0x105c], eax
push esi
mov dword [ebp - 0x1058], edx
call fcn.00499285
push dword [ebp - 0x1040]
push ebx
push dword [ebp - 0x1058]
push dword [ebp - 0x105c]
push dword [esi + 0x8148]
push esi
call fcn.00499285
mov ax, word [ebp - 0x1030]
cmp ax, word [ebp - 0x1044]
jl 0x49c4a9
mov eax, dword [esi + 0x3eb8]
mov ecx, dword [esi + 0x3ebc]
sub eax, edi
push ebx
sbb ecx, ebx
push ecx
push eax
push dword [esi + 0x8148]
call fcn.004809d9
push ebx
lea eax, [ebp - 0x1068]
push eax
push edi
lea eax, [ebp - 0x1019]
push eax
push dword [esi + 0x8148]
mov byte [ebp - 0x1019], 1
call dword [sym.imp.KERNEL32.dll_WriteFile]
push 0x2f
push esi
call fcn.004a5917
cmp eax, edi
je 0x49c53d
cmp byte [esi + 0x97c1], bl
je 0x49c4cd
push 0x4f
push esi
call fcn.004a5917
cmp eax, edi
je 0x49c53d
mov eax, dword [ebp - 0x1028]
lea ecx, [eax + eax]
cmp ecx, edi
mov dword [ebp - 0x102c], edi
jle 0x49c518
push dword [ebp - 0x1020]
shl eax, 2
push eax
push dword [ebp - 0x102c]
push dword [ebp - 0x1038]
push esi
call fcn.0049b486
mov eax, dword [ebp - 0x1028]
inc dword [ebp - 0x102c]
add eax, eax
cmp dword [ebp - 0x102c], eax
mov eax, dword [ebp - 0x1028]
jl 0x49c4e0
cmp dword [esi + 0x3ea8], edi
jle 0x49c56c
push dword [ebp - 0x1020]
mov ecx, eax
shl ecx, 2
push ecx
add eax, eax
push eax
push dword [ebp - 0x1038]
push esi
call fcn.0049b486
jmp 0x49c56c
mov edi, dword [ebp - 0x1028]
add edi, edi
cmp edi, ebx
jle 0x49c569
push dword [ebp - 0x1020]
mov eax, dword [ebp - 0x1028]
shl eax, 2
push eax
push edi
push dword [ebp - 0x1038]
push esi
call fcn.0049b486
dec edi
jmp 0x49c545
xor edi, edi
inc edi
push esi
call fcn.0048904f
cmp dword [ebp - 0x1050], ebx
je 0x49c5c1
push dword [ebp - 0x103c]
mov eax, dword [ebp - 0x1048]
cdq
push ebx
push edx
push eax
push dword [esi + 0x8148]
mov dword [ebp - 0x1064], eax
push esi
mov dword [ebp - 0x1060], edx
call fcn.00499285
push dword [ebp - 0x103c]
push ebx
push dword [ebp - 0x1060]
push dword [ebp - 0x1064]
push dword [esi + 0x8148]
push esi
call fcn.00499285
cmp word [ebp - 0x1034], bx
je 0x49c5ef
movsx eax, word [ebp - 0x1044]
movsx ecx, word [ebp - 0x1030]
dec eax
cmp ecx, eax
jne 0x49c5ef
push dword [esi + 0x3eb8]
push dword [ebp - 0x1034]
push esi
call fcn.00486dfa
mov eax, dword [esi + 0x1f7a4]
push dword [eax + 0x1e7ec]
push eax
push esi
call fcn.00483231
cmp al, 2
je 0x49c620
inc dword [ebp - 0x1030]
mov ax, word [ebp - 0x1030]
cmp ax, word [ebp - 0x1024]
jl 0x49c409
mov al, byte [esi + 0x96ec]
cmp al, 6
je 0x49c63a
cmp al, bl
jbe 0x49c63a
mov eax, dword [ebp - 0x106c]
mov dword [esi + 0x3ea8], eax
mov eax, dword [esi + 0x3ea8]
push ebx
push dword [esi + eax*8 + 0x3ebc]
push dword [esi + eax*8 + 0x3eb8]
push dword [esi + 0x8148]
call fcn.004809d9
mov ecx, dword [esi + 0x3eb0]
push ebx
lea eax, [ebp - 0x1020]
push eax
mov eax, dword [esi + 0x3ea8]
sub ecx, dword [esi + eax*8 + 0x3eb8]
push ecx
push dword [esi + 0x8148]
push esi
call fcn.00498dbc
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.004a9585
leave
ret 8