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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48cb58
mov eax, dword fs:[0]
push eax
mov eax, 0x1088
call fcn.00457a70
mov eax, dword [0x4b4970]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x80], esi
test eax, eax
je 0x44372d
test ecx, ecx
je 0x44372d
test edx, edx
je 0x44372d
test esi, esi
je 0x44372d
push esi
push ecx
push edx
push eax
lea eax, [ebp - 0x88c]
push str._p___s___s_____s___MD5:_s
push eax
call fcn.0041e3bc
push dword [eax]
and dword [ebp - 4], 0
call fcn.0044841f
lea eax, [ebp - 0x884]
add esp, 0x1c
cmp dword [ebp - 0x88c], eax
je 0x4430cb
push dword [ebp - 0x88c]
call fcn.0045471c
pop ecx
push 4
pop ebx
push ebx
mov dword [ebp - 0x84], ebx
call fcn.0041e0d6
xor esi, esi
inc esi
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], esi
mov dword [esp], 0x4b6d04
call fcn.0041acdf
xor eax, eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x50], eax
lea edi, [ebp - 0x78]
stosd dword es:[edi], eax
mov dword [ebp - 0x70], esi
mov esi, 0x499a04
push esi
push dword [ebp - 0x64]
stosd dword es:[edi], eax
lea eax, [ebp - 0x54]
push eax
mov byte [ebp - 4], 2
call fcn.0044290a
add esp, 0xc
test eax, eax
je 0x4431ba
call fcn.0045930e
push dword [eax]
lea ecx, [ebp - 0x1094]
call fcn.0042be67
sub esp, 0x808
mov esi, eax
mov edi, esp
lea eax, [ebp - 0x88c]
push 0x4999dc
mov ecx, 0x202
push eax
mov byte [ebp - 4], 3
rep movsd dword es:[edi], dword [esi]
call fcn.0041e3bc
push dword [eax]
mov byte [ebp - 4], bl
call fcn.0044841f
lea eax, [ebp - 0x884]
add esp, 0x814
cmp dword [ebp - 0x88c], eax
je 0x443194
push dword [ebp - 0x88c]
call fcn.0045471c
pop ecx
lea eax, [ebp - 0x108c]
mov byte [ebp - 4], 2
cmp dword [ebp - 0x1094], eax
je 0x4436ad
push dword [ebp - 0x1094]
call fcn.0045471c
jmp 0x4436ac
push dword [ebp - 0x54]
lea eax, [ebp - 0x38]
push 0x20
push 1
push eax
call fcn.0045c828
add esp, 0x10
cmp eax, 0x20
jae 0x4431dc
push 0x4999c0
jmp 0x4436a7
push 8
lea eax, [ebp - 0x38]
push str.BDBPV1.0
push eax
call fcn.0045af08
add esp, 0xc
test eax, eax
jne 0x4436a2
lea ecx, [ebp - 0x30]
call fcn.0044294d
lea ecx, [ebp - 0x28]
mov edi, eax
call fcn.0044294d
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x60], eax
call fcn.0044294d
xor ebx, ebx
cmp edi, ebx
mov dword [ebp - 0x40], eax
jl 0x4436a2
cmp dword [ebp - 0x60], ebx
jl 0x4436a2
cmp eax, ebx
jl 0x4436a2
push dword [ebp - 0x54]
call fcn.00458e59
push esi
push dword [ebp - 0x64]
lea eax, [ebp - 0x48]
push eax
mov dword [ebp - 0x54], ebx
call fcn.0044290a
add esp, 0x10
test eax, eax
je 0x4432d9
call fcn.0045930e
push dword [eax]
lea ecx, [ebp - 0x88c]
call fcn.0042be67
sub esp, 0x808
mov esi, eax
mov edi, esp
lea eax, [ebp - 0x1094]
push 0x49998c
mov ecx, 0x202
push eax
mov byte [ebp - 4], 5
rep movsd dword es:[edi], dword [esi]
call fcn.0041e3bc
mov byte [ebp - 4], 6
push dword [eax]
call fcn.0044841f
lea eax, [ebp - 0x108c]
add esp, 0x814
cmp dword [ebp - 0x1094], eax
je 0x4432b8
push dword [ebp - 0x1094]
call fcn.0045471c
pop ecx
lea eax, [ebp - 0x884]
mov byte [ebp - 4], 2
cmp dword [ebp - 0x88c], eax
je 0x4436ad
push dword [ebp - 0x88c]
jmp 0x4431b0
push ebx
push 0x20
push dword [ebp - 0x48]
call fcn.00458c44
add esp, 0xc
test eax, eax
je 0x44332c
call fcn.0045930e
push dword [eax]
lea ecx, [ebp - 0x88c]
call fcn.0042be67
sub esp, 0x808
mov esi, eax
mov edi, esp
lea eax, [ebp - 0x1094]
push 0x49996c
mov ecx, 0x202
push eax
mov byte [ebp - 4], 7
rep movsd dword es:[edi], dword [esi]
call fcn.0041e3bc
mov byte [ebp - 4], 8
jmp 0x443291
push esi
push dword [ebp - 0x64]
lea eax, [ebp - 0x44]
push eax
call fcn.0044290a
add esp, 0xc
test eax, eax
je 0x443381
call fcn.0045930e
push dword [eax]
lea ecx, [ebp - 0x88c]
call fcn.0042be67
sub esp, 0x808
mov esi, eax
mov edi, esp
lea eax, [ebp - 0x1094]
push str.__tN_kSb
mov ecx, 0x202
push eax
mov byte [ebp - 4], 9
rep movsd dword es:[edi], dword [esi]
call fcn.0041e3bc
mov byte [ebp - 4], 0xa
jmp 0x443291
push ebx
lea eax, [edi + 0x20]
push eax
push dword [ebp - 0x44]
call fcn.00458c44
add esp, 0xc
test eax, eax
je 0x4433d6
call fcn.0045930e
push dword [eax]
lea ecx, [ebp - 0x88c]
call fcn.0042be67
sub esp, 0x808
mov esi, eax
mov edi, esp
lea eax, [ebp - 0x1094]
push 0x49996c
mov ecx, 0x202
push eax
mov byte [ebp - 4], 0xb
rep movsd dword es:[edi], dword [esi]
call fcn.0041e3bc
mov byte [ebp - 4], 0xc
jmp 0x443291
push esi
push dword [ebp - 0x64]
lea eax, [ebp - 0x4c]
push eax
call fcn.0044290a
add esp, 0xc
test eax, eax
je 0x44342b
call fcn.0045930e
push dword [eax]
lea ecx, [ebp - 0x88c]
call fcn.0042be67
sub esp, 0x808
mov esi, eax
mov edi, esp
lea eax, [ebp - 0x1094]
push 0x49991c
mov ecx, 0x202
push eax
mov byte [ebp - 4], 0xd
rep movsd dword es:[edi], dword [esi]
call fcn.0041e3bc
mov byte [ebp - 4], 0xe
jmp 0x443291
mov eax, dword [ebp - 0x60]
push ebx
lea eax, [eax + edi + 0x20]
push eax
push dword [ebp - 0x4c]
call fcn.00458c44
add esp, 0xc
test eax, eax
je 0x443484
call fcn.0045930e
push dword [eax]
lea ecx, [ebp - 0x88c]
call fcn.0042be67
sub esp, 0x808
mov esi, eax
mov edi, esp
lea eax, [ebp - 0x1094]
push 0x49996c
mov ecx, 0x202
push eax
mov byte [ebp - 4], 0xf
rep movsd dword es:[edi], dword [esi]
call fcn.0041e3bc
mov byte [ebp - 4], 0x10
jmp 0x443291
push esi
push dword [ebp - 0x58]
lea eax, [ebp - 0x3c]
push eax
call fcn.0044290a
mov edi, dword [ebp - 0x3c]
add esp, 0xc
test eax, eax
jne 0x44369b
push 2
push ebx
push edi
call fcn.00458c44
add esp, 0xc
test eax, eax
jne 0x44369b
push edi
call fcn.00458b4c
mov esi, eax
pop ecx
mov dword [ebp - 0x58], esi
cmp esi, 0xffffffff
je 0x44369b
lea eax, [esi + 1]
push eax
call fcn.00453559
pop ecx
mov dword [ebp - 0x5c], eax
cmp eax, ebx
je 0x44369b
push ebx
push ebx
push edi
call fcn.00458c44
add esp, 0xc
test eax, eax
jne 0x44369b
push edi
push esi
push 1
push dword [ebp - 0x5c]
call fcn.0045c828
add esp, 0x10
cmp eax, esi
jne 0x44369b
push edi
call fcn.00458e59
mov eax, dword [ebp - 0x40]
inc eax
push eax
mov dword [ebp - 0x3c], ebx
call fcn.00453559
pop ecx
pop ecx
mov dword [ebp - 0x50], eax
cmp eax, ebx
jne 0x44352d
push 0x49990c
jmp 0x4436a7
xor edi, edi
xor ebx, ebx
xor esi, esi
cmp dword [ebp - 0x40], edi
jle 0x4435fb
xor edi, edi
push dword [ebp - 0x48]
lea eax, [ebp - 0x18]
push 8
push 1
push eax
call fcn.0045c828
add esp, 0x10
cmp eax, 8
jne 0x4436a2
lea ecx, [ebp - 0x18]
call fcn.0044294d
mov dword [ebp + edi*4 - 0x7c], eax
inc edi
cmp edi, 2
jle 0x44353e
mov edi, dword [ebp - 0x7c]
lea eax, [edi + esi]
cmp eax, dword [ebp - 0x40]
mov dword [ebp - 0x60], eax
jg 0x4436a2
push dword [ebp - 0x44]
mov eax, dword [ebp - 0x50]
push edi
add esi, eax
push 1
push esi
call fcn.0045c828
add esp, 0x10
cmp eax, edi
jne 0x4436a2
xor eax, eax
test edi, edi
jle 0x4435bd
lea ecx, [eax + ebx]
test ecx, ecx
jl 0x4435b8
cmp ecx, dword [ebp - 0x58]
jge 0x4435b8
mov edx, dword [ebp - 0x5c]
lea ecx, [eax + ebx]
mov cl, byte [ecx + edx]
add byte [esi + eax], cl
inc eax
cmp eax, edi
jl 0x4435a0
mov eax, dword [ebp - 0x60]
add ebx, edi
mov edi, dword [ebp - 0x78]
lea esi, [edi + eax]
cmp esi, dword [ebp - 0x40]
jg 0x4436a2
push dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
push edi
add eax, ecx
push 1
push eax
call fcn.0045c828
add esp, 0x10
cmp eax, edi
jne 0x4436a2
add ebx, dword [ebp - 0x74]
cmp esi, dword [ebp - 0x40]
jl 0x44353c
xor edi, edi
push dword [ebp - 0x48]
call fcn.00458e59
push dword [ebp - 0x44]
mov dword [ebp - 0x48], edi
call fcn.00458e59
push dword [ebp - 0x4c]
mov dword [ebp - 0x44], edi
call fcn.00458e59
push 0x499904
push dword [ebp - 0x6c]
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 0x4c], edi
call fcn.0044290a
add esp, 0x18
test eax, eax
jne 0x44365a
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
push 1
push dword [ebp - 0x50]
call fcn.00457f5c
add esp, 0x10
cmp eax, dword [ebp - 0x40]
jne 0x44365a
push dword [ebp - 0x3c]
call fcn.00458e59
pop ecx
mov dword [ebp - 0x3c], edi
jmp 0x4436b3
call fcn.0045930e
push dword [eax]
lea ecx, [ebp - 0x88c]
call fcn.0042be67
sub esp, 0x808
mov esi, eax
mov edi, esp
lea eax, [ebp - 0x1094]
push 0x4998ec
mov ecx, 0x202
push eax
mov byte [ebp - 4], 0x11
rep movsd dword es:[edi], dword [esi]
call fcn.0041e3bc
mov byte [ebp - 4], 0x12
jmp 0x443291
push 0x4998d4
jmp 0x4436a7
push 0x4998bc
call fcn.0044841f
pop ecx
and dword [ebp - 0x70], 0
xor edi, edi
cmp dword [ebp - 0x50], edi
je 0x4436c1
push dword [ebp - 0x50]
call fcn.0045471c
pop ecx
cmp dword [ebp - 0x5c], edi
je 0x4436cf
push dword [ebp - 0x5c]
call fcn.0045471c
pop ecx
cmp dword [ebp - 0x54], edi
je 0x4436dd
push dword [ebp - 0x54]
call fcn.00458e59
pop ecx
cmp dword [ebp - 0x3c], edi
je 0x4436eb
push dword [ebp - 0x3c]
call fcn.00458e59
pop ecx
cmp dword [ebp - 0x48], edi
je 0x4436f9
push dword [ebp - 0x48]
call fcn.00458e59
pop ecx
cmp dword [ebp - 0x44], edi
je 0x443707
push dword [ebp - 0x44]
call fcn.00458e59
pop ecx
cmp dword [ebp - 0x4c], edi
je 0x443715
push dword [ebp - 0x4c]
call fcn.00458e59
pop ecx
cmp dword [ebp - 0x70], edi
jne 0x443749
mov ecx, dword [ebp - 0x68]
add ecx, 0xfffffff0
call fcn.0041a963
push 0xfffffffffffffffc
call fcn.0041e0d6
pop ecx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0045466b
leave
ret
push 3
push dword [ebp - 0x6c]
lea eax, [ebp - 0x58]
push eax
call fcn.00442175
add esp, 0xc
push eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x13
call fcn.0041c246
mov ecx, dword [ebp - 0x58]
add ecx, 0xfffffff0
mov byte [ebp - 4], 2
call fcn.0041a963
push dword [ebp - 0x80]
mov esi, dword [ebp - 0x68]
push esi
call fcn.0045506c
pop ecx
pop ecx
test eax, eax
je 0x4437a7
push 0x499894
call fcn.0044841f
pop ecx
lea ecx, [esi - 0x10]
call fcn.0041a963
push 0xfffffffffffffffc
call fcn.0041e0d6
pop ecx
mov eax, edi
jmp 0x44372f
xor edi, edi
inc edi
jmp 0x443793