Function at 0x101dbbc0
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x34
mov eax, dword [0x106499c8]
xor eax, esp
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
push ebx
push ebp
mov ebp, dword [esp + 0x44]
push esi
push edi
mov edi, dword [esp + 0x48]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
xor ecx, ecx
xor ebx, ebx
and eax, 0x100
push ebp
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], ecx
push 4
mov ecx, 0x104f423c
mov eax, 0x104f4234
cmove eax, ecx
push 1
push eax
mov dword [esp + 0x28], ebx
call dword [sym.imp.MSVCR110.dll_fwrite]
push ebx
push dword [edi + 0x30]
call fcn.101e2b30
push ebx
push dword [edi + 0x38]
mov dword [esp + 0x30], eax
call fcn.101e2b30
mov esi, eax
mov eax, dword [esp + 0x30]
add esp, 0x20
cmp eax, 2
jne 0x101dbc43
cmp esi, 1
je 0x101dbc4d
jmp 0x101dbc48
cmp eax, 1
jne 0x101dbc58
cmp esi, 2
jne 0x101dbc58
mov eax, 0x800
or word [edi + 0x10], ax
jmp 0x101dbcd0
mov ecx, 0xf7ff
and word [edi + 0x10], cx
cmp eax, 2
jne 0x101dbc84
push dword [esp + 0x20]
push dword [edi + 0x30]
push 0x7075
call fcn.101dc860
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x18], ebx
test ebx, ebx
je 0x101dbcb2
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x101dbcd4
cmp esi, 2
jne 0x101dbcd4
push dword [esp + 0x20]
push dword [edi + 0x38]
push 0x6375
call fcn.101dc860
add esp, 0xc
test eax, eax
jne 0x101dbcc8
push ebx
call fcn.101dcfa0
add esp, 4
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.10311bec
add esp, 0x34
ret
mov dword [eax], ebx
mov ebx, eax
mov dword [esp + 0x18], ebx
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x28]
mov dword [esp + 0x10], eax
test ecx, ecx
je 0x101dbd32
test esi, 0x400
jne 0x101dbd0a
cmp dword [edi + 0x24], 0
ja 0x101dbd0a
jb 0x101dbcfa
cmp dword [edi + 0x20], 0xffffffff
ja 0x101dbd0a
cmp dword [edi + 0x2c], 0
ja 0x101dbd0a
cmp dword [edi + 0x28], 0xffffffff
jbe 0x101dbdfc
lea eax, [esp + 0x10]
push eax
push dword [edi + 0x2c]
push dword [edi + 0x28]
call fcn.101dc520
lea eax, [esp + 0x1c]
push eax
push dword [edi + 0x24]
push dword [edi + 0x20]
call fcn.101dc520
add esp, 0x18
jmp 0x101dbdc0
test esi, 0x400
jne 0x101dbd66
cmp dword [edi + 0x24], 0
ja 0x101dbd66
jb 0x101dbd48
cmp dword [edi + 0x20], 0xffffffff
ja 0x101dbd66
cmp dword [edi + 0x2c], 0
ja 0x101dbd66
jb 0x101dbd56
cmp dword [edi + 0x28], 0xffffffff
ja 0x101dbd66
cmp dword [edi + 0x4c], 0
ja 0x101dbd66
cmp dword [edi + 0x48], 0xffffffff
jbe 0x101dbdfc
mov ecx, dword [edi + 0x24]
mov eax, dword [edi + 0x20]
test ecx, ecx
jne 0x101dbd75
cmp eax, 0xffffffff
jb 0x101dbd84
lea edx, [esp + 0x10]
push edx
push ecx
push eax
call fcn.101dc520
add esp, 0xc
mov ecx, dword [edi + 0x2c]
mov eax, dword [edi + 0x28]
test ecx, ecx
jne 0x101dbd93
cmp eax, 0xffffffff
jb 0x101dbda2
lea edx, [esp + 0x10]
push edx
push ecx
push eax
call fcn.101dc520
add esp, 0xc
mov ecx, dword [edi + 0x4c]
mov eax, dword [edi + 0x48]
test ecx, ecx
jne 0x101dbdb1
cmp eax, 0xffffffff
jb 0x101dbdc0
lea edx, [esp + 0x10]
push edx
push ecx
push eax
call fcn.101dc520
add esp, 0xc
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x28]
cmp eax, ecx
je 0x101dbdf8
sub ax, cx
push 0x300
movzx eax, ax
push ecx
push eax
push 1
call fcn.101dd180
mov ecx, dword [esp + 0x24]
mov edx, 1
add esp, 0x10
mov dword [eax], ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], edx
jmp 0x101dbdfe
mov ecx, dword [esp + 0x14]
xor edx, edx
mov eax, esi
and eax, 0x500
cmp eax, 0x500
jne 0x101dbe51
cmp dword [edi + 0x2c], 0
ja 0x101dbe46
jb 0x101dbe1a
cmp dword [edi + 0x28], 0xffffffff
jae 0x101dbe46
cmp dword [edi + 0x24], 0
ja 0x101dbe46
jb 0x101dbe28
cmp dword [edi + 0x20], 0xffffffff
jae 0x101dbe46
test esi, 0x200
je 0x101dbe3e
cmp dword [edi + 0x4c], 0
ja 0x101dbe46
jb 0x101dbe3e
cmp dword [edi + 0x48], 0xffffffff
jae 0x101dbe46
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x101dbe57
mov eax, 1
mov dword [esp + 0x10], eax
jmp 0x101dbe57
mov eax, edx
mov dword [esp + 0x10], edx
mov esi, dword [sym.imp.MSVCR110.dll_putc]
test ecx, ecx
jne 0x101dbe82
test eax, eax
mov eax, 0x2d
jne 0x101dbe6e
movzx eax, word [edi + 0xc]
movzx ebx, ax
movzx eax, bl
push ebp
push eax
call esi
push ebp
shr ebx, 8
push ebx
call esi
add esp, 0x10
cmp dword [esp + 0x10], 0
mov eax, 0x2d
jne 0x101dbe92
movzx eax, word [edi + 0xe]
movzx ebx, ax
movzx eax, bl
push ebp
push eax
call esi
push ebp
shr ebx, 8
push ebx
call esi
mov ax, word [edi + 0x10]
mov ecx, 0xfff9
and ax, cx
movzx ebx, ax
movzx eax, bl
push ebp
push eax
call esi
push ebp
shr ebx, 8
push ebx
call esi
movzx ebx, word [edi + 0x14]
movzx eax, bl
push ebp
push eax
call esi
push ebp
shr ebx, 8
push ebx
call esi
mov eax, dword [edi + 0x18]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x40]
push eax
call dword [sym.imp.MSVCR110.dll__localtime32]
movzx ecx, word [eax + 0x14]
shl cx, 4
add cx, word [eax + 0x10]
mov edx, 0x301
add cx, dx
shl cx, 5
add cx, word [eax + 0xc]
push ebp
movzx esi, cx
movzx ecx, word [eax + 8]
shl cx, 6
add cx, word [eax + 4]
mov eax, dword [eax]
sar eax, 1
shl cx, 5
add cx, ax
movzx ebx, cx
movzx eax, bl
push eax
call dword [sym.imp.MSVCR110.dll_putc]
push ebp
shr ebx, 8
push ebx
call dword [sym.imp.MSVCR110.dll_putc]
mov ebx, esi
mov esi, dword [sym.imp.MSVCR110.dll_putc]
add esp, 0x44
movzx eax, bl
push ebp
push eax
call esi
push ebp
shr ebx, 8
push ebx
call esi
mov ebx, dword [edi + 0x1c]
movzx eax, bl
push ebp
push eax
call esi
mov eax, ebx
shr eax, 8
and eax, 0xff
push ebp
push eax
call esi
mov eax, ebx
shr eax, 0x10
and eax, 0xff
push ebp
push eax
call esi
push ebp
shr ebx, 0x18
push ebx
call esi
add esp, 0x30
cmp dword [edi + 0x24], 0
ja 0x101dbfb7
jb 0x101dbf8a
cmp dword [edi + 0x20], 0xffffffff
jae 0x101dbfb7
mov ebx, dword [edi + 0x20]
movzx eax, bl
push ebp
push eax
call esi
mov eax, ebx
shr eax, 8
and eax, 0xff
push ebp
push eax
call esi
mov eax, ebx
shr eax, 0x10
and eax, 0xff
push ebp
push eax
call esi
push ebp
shr ebx, 0x18
push ebx
jmp 0x101dbfd5
push ebp
push 0xff
call esi
push ebp
push 0xff
call esi
push ebp
push 0xff
call esi
push ebp
push 0xff
call esi
add esp, 0x20
cmp dword [edi + 0x2c], 0
ja 0x101dc015
jb 0x101dbfe8
cmp dword [edi + 0x28], 0xffffffff
jae 0x101dc015
mov ebx, dword [edi + 0x28]
movzx eax, bl
push ebp
push eax
call esi
mov eax, ebx
shr eax, 8
and eax, 0xff
push ebp
push eax
call esi
mov eax, ebx
shr eax, 0x10
and eax, 0xff
push ebp
push eax
call esi
push ebp
shr ebx, 0x18
push ebx
jmp 0x101dc033
push ebp
push 0xff
call esi
push ebp
push 0xff
call esi
push ebp
push 0xff
call esi
push ebp
push 0xff
call esi
add esp, 0x20
push dword [edi + 0x30]
call fcn.101e2800
movzx ebx, ax
movzx eax, bl
push ebp
push eax
call esi
push ebp
shr ebx, 8
push ebx
call esi
push dword [esp + 0x30]
push dword [edi + 0x34]
call fcn.101dd3c0
push 0x300
push dword [esp + 0x38]
mov si, ax
call fcn.101dd3c0
add si, ax
movzx ebx, si
mov esi, dword [sym.imp.MSVCR110.dll_putc]
movzx eax, bl
push ebp
push eax
call esi
push ebp
shr ebx, 8
push ebx
call esi
add esp, 0x34
cmp dword [esp + 0x14], 0
jne 0x101dc164
push dword [edi + 0x38]
call fcn.101e2800
movzx ebx, ax
movzx eax, bl
push ebp
push eax
call esi
push ebp
shr ebx, 8
push ebx
call esi
movzx ebx, word [edi + 0x3c]
movzx eax, bl
push ebp
push eax
call esi
push ebp
shr ebx, 8
push ebx
call esi
movzx ebx, word [edi + 0x40]
movzx eax, bl
push ebp
push eax
call esi
push ebp
shr ebx, 8
push ebx
call esi
mov ebx, dword [edi + 0x44]
movzx eax, bl
push ebp
push eax
call esi
mov eax, ebx
shr eax, 8
and eax, 0xff
push ebp
push eax
call esi
add esp, 0x44
mov eax, ebx
shr eax, 0x10
and eax, 0xff
push ebp
push eax
call esi
push ebp
shr ebx, 0x18
push ebx
call esi
add esp, 0x10
cmp dword [edi + 0x4c], 0
ja 0x101dc141
jb 0x101dc114
cmp dword [edi + 0x48], 0xffffffff
jae 0x101dc141
mov ebx, dword [edi + 0x48]
movzx eax, bl
push ebp
push eax
call esi
mov eax, ebx
shr eax, 8
and eax, 0xff
push ebp
push eax
call esi
mov eax, ebx
shr eax, 0x10
and eax, 0xff
push ebp
push eax
call esi
push ebp
shr ebx, 0x18
push ebx
jmp 0x101dc15f
push ebp
push 0xff
call esi
push ebp
push 0xff
call esi
push ebp
push 0xff
call esi
push ebp
push 0xff
call esi
add esp, 0x20
mov eax, dword [edi + 0x30]
test eax, eax
je 0x101dc175
push ebp
push eax
call fcn.101e2920
add esp, 8
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x101dc18c
push ebp
push 0x300
push ebx
call fcn.101dd410
add esp, 0xc
mov eax, dword [edi + 0x34]
test eax, eax
je 0x101dc1a1
push ebp
push dword [esp + 0x20]
push eax
call fcn.101dd410
add esp, 0xc
cmp dword [esp + 0x14], 0
jne 0x101dc1b9
mov eax, dword [edi + 0x38]
test eax, eax
je 0x101dc1b9
push ebp
push eax
call fcn.101e2920
add esp, 8
push ebx
call fcn.101dcfa0
push ebp
call dword [sym.imp.MSVCR110.dll_ferror]
add esp, 8
test eax, eax
je 0x101dc1f9
call dword [sym.imp.MSVCR110.dll__errno]
push dword [eax]
push 6
push dword [esp + 0x28]
call fcn.101dcb20
add esp, 0xc
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.10311bec
add esp, 0x34
ret
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x24]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10311bec
add esp, 0x34
ret