Function at 0x441250
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x511530
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push ebx
push ebp
push esi
push edi
mov eax, dword [0x54a050]
xor eax, esp
push eax
lea eax, [esp + 0x5c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x6c]
xor esi, esi
mov dword [esp + 0x64], esi
mov ecx, dword [ebp + 0x20]
mov dword [esp + 0x14], esi
mov eax, dword [ecx]
mov edx, dword [eax + 0x140]
call edx
cmp eax, esi
je 0x44130e
mov ebx, dword [sym.imp.USER32.dll_GetWindow]
mov edi, dword [esp + 0x14]
mov ecx, dword [ebp + 0xa725c]
cmp eax, ecx
jne 0x4412b2
mov dword [ecx + 0x198], edi
jmp 0x4412f1
mov ecx, dword [ebp + 0xa7260]
cmp eax, ecx
jne 0x4412c4
mov dword [ecx + 0x154], edi
jmp 0x4412f1
lea ecx, [ebp + 0x793b0]
mov esi, 0x1f
nop
cmp dword [ecx + 4], 0
je 0x4412e6
mov edx, dword [ecx]
cmp edx, eax
jne 0x4412e6
mov dword [edx + 0x180], edi
mov edi, dword [esp + 0x14]
add ecx, 0x1780
sub esi, 1
jne 0x4412d0
mov eax, dword [eax + 0x20]
push 2
push eax
call ebx
push eax
call fcn.004a4be1
mov edi, dword [esp + 0x14]
add edi, 1
test eax, eax
mov dword [esp + 0x14], edi
jne 0x4412a0
mov eax, dword [esp + 0x70]
push 0x533560
push eax
call fcn.004d8570
mov esi, eax
add esp, 8
test esi, esi
je 0x441943
push esi
push 1
lea ecx, [esp + 0x30]
push 4
push ecx
mov dword [esp + 0x38], 0xc3
call fcn.004da2f0
add esp, 0x10
call fcn.004b597f
test eax, eax
je 0x441358
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x74]
call eax
jmp 0x44135a
xor eax, eax
lea ecx, [esp + 0x30]
push ecx
mov ecx, eax
call fcn.004a2e03
push esi
push 1
lea edx, [esp + 0x38]
push 0x2c
push edx
call fcn.004da2f0
mov ecx, dword [ebp + 0x13c]
add esp, 0x10
test ecx, ecx
je 0x44138c
lea eax, [esp + 0x30]
push eax
call fcn.004a2e03
push esi
push 1
lea ecx, [esp + 0x38]
push 0x2c
push ecx
call fcn.004da2f0
mov eax, dword [ebp + 0xa7258]
lea edi, [ebp + 0xa7258]
sub eax, 0x10
mov ecx, 1
sub ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
sub eax, 0x51
add esp, 0x10
or eax, ecx
jge 0x4413c8
push 0x51
mov ecx, edi
call fcn.00401790
mov eax, dword [edi]
push esi
push 1
push 0x50
push eax
call fcn.004da2f0
mov ecx, dword [edi]
add esp, 0x10
test ecx, ecx
jne 0x4413e2
xor eax, eax
jmp 0x4413f8
mov eax, ecx
lea ebx, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x4413e7
sub eax, ebx
js 0x441939
cmp eax, dword [ecx - 8]
jg 0x441939
mov dword [ecx - 0xc], eax
mov edx, dword [edi]
mov byte [eax + edx], 0
mov ecx, dword [ebp + 0xa725c]
test ecx, ecx
je 0x44142e
lea eax, [esp + 0x30]
push eax
call fcn.004a2e03
mov ecx, dword [ebp + 0xa725c]
mov edx, dword [ecx + 0x198]
mov dword [esp + 0x14], edx
push esi
push 1
lea eax, [esp + 0x38]
push 0x2c
push eax
call fcn.004da2f0
push esi
push 1
lea ecx, [esp + 0x2c]
push 4
push ecx
call fcn.004da2f0
mov ecx, dword [ebp + 0xa7260]
add esp, 0x20
test ecx, ecx
je 0x441473
lea edx, [esp + 0x30]
push edx
call fcn.004a2e03
mov eax, dword [ebp + 0xa7260]
mov ecx, dword [eax + 0x154]
mov dword [esp + 0x14], ecx
push esi
push 1
lea edx, [esp + 0x38]
push 0x2c
push edx
call fcn.004da2f0
push esi
push 1
lea eax, [esp + 0x2c]
push 4
push eax
call fcn.004da2f0
push esi
push 1
lea ecx, [esp + 0x40]
push 4
push ecx
mov dword [esp + 0x48], 0x1f
call fcn.004da2f0
mov edx, dword [esp + 0x48]
push esi
push edx
lea edi, [ebp + 0x793b0]
push 0x1780
push edi
call fcn.004da2f0
mov eax, dword [esp + 0x58]
add esp, 0x40
xor ebx, ebx
add eax, 0xffffffff
js 0x44151a
lea ecx, [ecx]
cmp dword [edi + 4], 0
je 0x441506
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [edi]
call fcn.004a2e03
push esi
push 1
lea edx, [esp + 0x38]
push 0x2c
push edx
call fcn.004da2f0
mov eax, dword [edi]
push esi
push 1
add eax, 0x180
push 4
push eax
call fcn.004da2f0
add esp, 0x20
mov ecx, dword [esp + 0x18]
add ebx, 1
add ecx, 0xffffffff
add edi, 0x1780
cmp ebx, ecx
jle 0x4414d0
push esi
push 1
lea edx, [ebp + 0x140]
push 4
push edx
call fcn.004da2f0
push esi
push 1
push 0x38
push 0xa51400
call fcn.004da2f0
push esi
push 1
push 4
push 0x6fbf30
call fcn.004da2f0
push esi
push 1
push 4
push 0x6fbf34
call fcn.004da2f0
add esp, 0x40
push esi
push 1
push 4
push 0x6fbf3c
call fcn.004da2f0
push esi
push 1
push 4
push 0x70e1e8
call fcn.004da2f0
mov eax, dword [0x6fbf34]
push esi
push eax
push 0x34
push 0x70e1ec
call fcn.004da2f0
push esi
push 1
push 4
push 0x72cbc4
call fcn.004da2f0
mov ecx, dword [0x72cbc4]
add esp, 0x40
push esi
push ecx
push 4
push 0x72cbc8
call fcn.004da2f0
mov edx, dword [0x6fbf30]
push esi
push edx
push 0x48
push 0x744318
call fcn.004da2f0
mov eax, dword [0x6fbf3c]
push esi
push eax
push 0x20
push 0x78c52c
call fcn.004da2f0
push esi
push 0x10
push 0x34
push 0x6ea638
call fcn.004da2f0
add esp, 0x40
push esi
push 1
push 4
push 0x6ea634
call fcn.004da2f0
mov ecx, dword [0x6ea634]
push esi
push ecx
push 8
push 0x6cd16c
call fcn.004da2f0
push esi
push 1
push 4
push 0x6f02c0
call fcn.004da2f0
push esi
push 1
push 4
push 0x6f02c4
call fcn.004da2f0
add esp, 0x40
push esi
push 1
lea edx, [esp + 0x24]
push 4
push edx
mov dword [esp + 0x2c], 4
call fcn.004da2f0
xor ebx, ebx
add esp, 0x10
cmp dword [esp + 0x1c], ebx
jle 0x441760
mov edi, 0x54f0c0
lea ebx, [ebx]
push esi
push 1
lea eax, [edi - 0x64]
push 4
push eax
call fcn.004da2f0
push esi
push 1
push 4
push edi
call fcn.004da2f0
push esi
push 1
lea ecx, [edi - 0x80]
push 4
push ecx
call fcn.004da2f0
push esi
push 1
lea edx, [edi - 0x50]
push 1
push edx
call fcn.004da2f0
add esp, 0x40
push esi
push 1
lea eax, [edi - 0x4f]
push 1
push eax
call fcn.004da2f0
push esi
push 1
lea ecx, [edi - 0x5c]
push 4
push ecx
call fcn.004da2f0
push esi
push 1
lea edx, [edi + 4]
push 4
push edx
call fcn.004da2f0
push esi
push 1
lea eax, [edi + 8]
push 4
push eax
call fcn.004da2f0
add esp, 0x40
push esi
push 1
lea ecx, [edi - 0xd8]
push 0xc
push ecx
call fcn.004da2f0
push esi
push 1
lea edx, [edi - 0xcc]
push 0xc
push edx
call fcn.004da2f0
push esi
push 1
lea eax, [edi - 0xc0]
push 0xc
push eax
call fcn.004da2f0
push esi
push 1
lea ecx, [edi - 0xa4]
push 0xc
push ecx
call fcn.004da2f0
add esp, 0x40
push esi
push 1
lea edx, [edi - 0x98]
push 0xc
push edx
call fcn.004da2f0
push esi
push 1
lea eax, [edi - 0x8c]
push 0xc
push eax
call fcn.004da2f0
push esi
push 1
lea ecx, [edi - 4]
push 4
push ecx
call fcn.004da2f0
add ebx, 1
add esp, 0x30
add edi, 0xe8
cmp ebx, dword [esp + 0x1c]
jl 0x441660
push esi
push 1
push 0x58
push 0x5512c8
call fcn.004da2f0
push esi
push 1
push 4
push 0x551348
call fcn.004da2f0
push esi
push 1
push 4
push 0x6fbf38
call fcn.004da2f0
mov edx, dword [0x6fbf38]
push esi
push edx
push 0x174
push 0x6fbf44
call fcn.004da2f0
add esp, 0x40
push esi
push 1
push 4
push 0x6fbf40
call fcn.004da2f0
mov eax, dword [0x6fbf40]
push esi
push eax
push 0x2c
push 0x72a0cc
call fcn.004da2f0
push esi
push 1
lea ecx, [esp + 0x54]
push 4
push ecx
mov dword [esp + 0x5c], 0x72cbc8
call fcn.004da2f0
push esi
push 1
lea edx, [ebp + 0xb0]
push 4
push edx
call fcn.004da2f0
add esp, 0x40
cmp dword [0x6fbf40], 0
jle 0x441900
call fcn.004a7b93
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x44181b
push 0x80004005
call fcn.00401710
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
mov byte [esp + 0x64], 1
mov edx, dword [0x6fbf40]
xor ecx, ecx
test edx, edx
jle 0x441853
mov eax, 0x72a0f4
mov edi, edx
mov edx, dword [eax]
cmp edx, ecx
jbe 0x44184b
mov ecx, edx
add eax, 0x2c
sub edi, 1
jne 0x441843
push ecx
call fcn.004d5f80
xor edi, edi
add esp, 4
cmp dword [0x6fbf40], edi
mov dword [esp + 0x20], eax
jle 0x4418ce
mov ebp, 0x72a0f4
nop
push edi
lea ecx, [esp + 0x28]
push str.TEXTEX_d.BMP
push ecx
call fcn.004018d0
mov edx, dword [esp + 0x30]
push 0x531f4c
push edx
call fcn.004d8570
mov ecx, dword [esp + 0x34]
mov ebx, eax
mov eax, dword [ebp]
push ebx
push eax
push 1
push ecx
call fcn.004d5f60
mov edx, dword [ebp]
mov eax, dword [esp + 0x44]
push esi
push edx
push 1
push eax
call fcn.004da2f0
push ebx
call fcn.004d5700
add edi, 1
add esp, 0x38
add ebp, 0x2c
cmp edi, dword [0x6fbf40]
jl 0x441870
mov ebp, dword [esp + 0x6c]
mov ecx, dword [esp + 0x20]
push ecx
call fcn.004d6cd0
mov byte [esp + 0x68], 0
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x441900
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp + 0x11c]
push esi
push 1
add ecx, 0x88
push 4
push ecx
call fcn.004da2f0
mov edx, dword [ebp + 0x11c]
push esi
push 1
add edx, 0x8c
push 4
push edx
call fcn.004da2f0
push esi
call fcn.004d5700
add esp, 0x24
jmp 0x441970
push 0x80070057
call fcn.00401710
push 0xefee
call fcn.004ac0dc
test eax, eax
je 0x441961
push 0xefee
push eax
mov ecx, 0x54ef94
call fcn.00406400
mov eax, dword [0x54ef94]
push 0
push 0x10
push eax
call fcn.004b3f81
mov dword [esp + 0x64], 0xffffffff
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x441998
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 8