Function at 0x43adf0
Capabilities:
Write file on windows

Disassembly:
push esi
sub esp, 0x38
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], ecx
mov eax, dword [0x4983a8]
add eax, 0x4a29d52d
mov dword [0x4983a8], eax
mov eax, dword [0x4980fc]
mov ecx, eax
inc ecx
mov dword [0x4980fc], ecx
mov dx, word [0x49a56e]
mov cx, dx
xor ecx, 0x4fce
or eax, ecx
mov dx, word [0x49a056]
mov cx, dx
xor ecx, eax
mov dx, cx
mov word [0x49a056], dx
cmp dword [0x49b6c0], 0
jne 0x43ae88
mov eax, dword [0x4987fc]
add eax, 0x3bb89d9a
mov dword [0x4987fc], eax
call fcn.00416c50
mov dword [0x49b6c0], eax
mov cx, word [0x499e9c]
mov ax, cx
and eax, 0x9006
mov cx, ax
mov word [0x499e9c], cx
mov eax, dword [0x498bd8]
xor eax, 0x4aa1f50
mov dword [0x498bd8], eax
mov eax, esp
mov dword [eax + 4], 3
mov dword [eax], 0x7627
call fcn.0043a250
mov dword [esp + 0x2c], eax
mov eax, dword [0x49912c]
and eax, 0x3616ab5f
mov dword [0x49912c], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.00455143
mov dword [esp + 0x24], eax
mov eax, dword [0x497ae8]
or eax, 0x2737a1de
mov dword [0x497ae8], eax
mov eax, dword [esp + 0x2c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.004050b0
mov si, word [0x49ad3e]
mov ax, si
or eax, 0xfbfd
mov si, ax
mov word [0x49ad3e], si
cmp dword [esp + 0x24], 0
jne 0x43b047
mov eax, 0x3d7b38f0
mov ecx, dword [0x499098]
xor ecx, 0x8000004
mov dword [0x499098], ecx
mov ecx, dword [0x497564]
mov edx, esp
mov dword [edx], 0x411
mov dword [esp + 0x20], eax
call ecx
sub esp, 4
mov eax, dword [0x49831c]
sar eax, 3
mov ecx, dword [esp + 0x20]
cmp ecx, eax
jge 0x43af85
mov eax, dword [0x498250]
mov ecx, eax
dec ecx
mov dword [0x498250], ecx
imul eax, eax, 0x963cd6e2
mov ecx, dword [0x497e64]
and eax, ecx
and eax, 0x55876bce
mov dword [0x497e64], eax
mov eax, 0x664321d8
mov ecx, esp
mov dword [ecx + 4], 3
mov dword [ecx], 0x7627
mov dword [esp + 0x1c], eax
call fcn.0043a250
mov dword [esp + 0x28], eax
mov dx, word [0x49a1f8]
mov ax, dx
add eax, 0x3bb45437
mov dx, ax
mov word [0x49a1f8], dx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
mov esi, esp
mov dword [esi + 4], eax
mov dword [esi], ecx
call fcn.00455143
mov dword [esp + 0x24], eax
mov dx, word [0x49aa96]
mov ax, dx
add eax, 0xe976bbe8
mov dx, ax
mov word [0x49aa96], dx
mov eax, dword [esp + 0x28]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.004050b0
mov dx, word [0x49a74e]
movsx eax, dx
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
jg 0x43b02e
mov eax, dword [0x498350]
or eax, 0x56265168
mov dword [0x498350], eax
jmp 0x43b042
mov eax, dword [0x49933c]
mov ecx, dword [0x498a8c]
imul ecx, eax
mov dword [0x498a8c], ecx
jmp 0x43b047
mov eax, dword [0x49769c]
xor eax, 0x256cb5ed
mov dword [0x49769c], eax
cmp dword [esp + 0x24], 0
je 0x43b135
mov eax, 0x28304247
mov ecx, dword [0x497f40]
inc ecx
mov dword [0x497f40], ecx
mov edx, dword [0x4979a8]
and ecx, edx
xor ecx, 0xf0b6936b
mov dword [0x49869c], ecx
mov ecx, dword [esp + 0x24]
mov edx, esp
mov dword [edx + 0xc], ecx
mov dword [edx + 8], 1
mov dword [edx + 4], 4
mov dword [edx], 0x49b6c0
mov dword [esp + 0x18], eax
call fcn.00455795
mov ecx, dword [0x499524]
add ecx, 0xa6c93c8d
mov edx, dword [0x499684]
xor ecx, edx
mov edx, dword [esp + 0x18]
cmp edx, ecx
mov dword [esp + 0x14], eax
jl 0x43b0fb
mov eax, 0xc4029084
mov ecx, dword [0x4992d8]
sar ecx, 0xa
cmp eax, ecx
je 0x43b0f6
mov eax, dword [0x497eec]
add eax, 0xeb857fef
mov dword [0x497eec], eax
jmp 0x43b10a
mov eax, dword [0x499624]
add eax, 0x3bb40b08
mov dword [0x499624], eax
mov eax, dword [esp + 0x24]
mov ecx, esp
mov dword [ecx], eax
call fcn.00455883
mov dx, word [0x49a64a]
mov cx, dx
add ecx, 0x622e009
mov dx, cx
mov word [0x49a64a], dx
mov dword [esp + 0x10], eax
mov eax, dword [0x4981ac]
not eax
mov ecx, dword [0x499198]
lea eax, [eax + ecx - 0x619b131f]
mov dword [0x499198], eax
add esp, 0x38
pop esi
ret