Function at 0x449040
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x90
mov ebx, edx
mov esi, ecx
mov dword [esp + 0x1c], 0xffffffff
cmp dword [ecx + 0x18], 0
jle 0x449070
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
xor edi, edi
test eax, eax
jne 0x4490a8
lea eax, [esp + 0x1c]
mov ecx, esi
xor edx, edx
push eax
call fcn.00449bb0
add esp, 4
mov edi, eax
test eax, eax
je 0x4490a1
cmp edi, 0x508
jne 0x4492a9
mov byte [esi + 0x32], 1
mov byte [esi + 0x2b], 2
mov dword [ebx], 1
cmp dword [esp + 0x1c], 0
je 0x4490b9
mov ecx, esi
mov edx, ebx
call fcn.004499d0
test eax, eax
je 0x44923b
cmp byte [esi + 0x32], 0
jne 0x4490c9
test byte [esi + 0x2e], 2
jne 0x4491bd
movzx eax, byte [esi + 0x2c]
mov byte [esp + 0x13], al
test al, al
jne 0x4490df
cmp byte [esi + 0x2b], 0
je 0x4491db
mov dword [esp + 0x4c], ebx
mov byte [esi + 0x2c], 1
cmp dword [esi + 0x18], 0
jle 0x4490fa
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x449123
lea eax, [esp + 0x1c]
xor ebx, ebx
mov ecx, esi
xor edx, edx
push eax
call fcn.00449bb0
add esp, 4
test eax, eax
je 0x449123
mov edi, eax
cmp byte [esp + 0x13], 0
jne 0x449237
jmp 0x449229
mov ecx, esi
mov edx, dword [esp + 0x4c]
call fcn.004499d0
test eax, eax
je 0x4491ce
mov dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x30], 0xffffffff
movzx edx, byte [esi + 0x2d]
mov ebx, 2
sub ebx, edx
inc edx
cmp byte [esi + 0x2b], 0
je 0x4491f8
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], edx
pxor xmm0, xmm0
movdqu xmmword [esi + 0x54], xmm0
movdqu xmmword [esi + 0x44], xmm0
movdqu xmmword [esi + 0x34], xmm0
mov eax, dword [esi + 8]
mov ecx, dword [eax]
lea edx, [esp + 0x30]
push edx
push eax
call dword [ecx + 0x18]
add esp, 8
mov edi, eax
test eax, eax
je 0x4492d9
cmp byte [esi + 0x2b], 0
mov edx, dword [esp + 0x88]
jne 0x449216
mov eax, dword [esi + 4]
mov ecx, dword [eax]
push 9
push dword [esp + 0x88]
push edx
push eax
call dword [ecx + 0x38]
add esp, 0x10
jmp 0x449216
cmp byte [esi + 0x2b], 0
je 0x449718
mov edi, 0x108
jmp 0x449244
mov bl, 1
xor edi, edi
cmp byte [esp + 0x13], 0
jne 0x449237
jmp 0x449229
mov eax, dword [esi + 4]
mov ecx, dword [eax]
push 0xa
push 1
push 0
push eax
call dword [ecx + 0x38]
add esp, 0x10
mov edi, eax
test eax, eax
jne 0x449244
jmp 0x4490df
mov eax, dword [esi + 4]
mov ecx, dword [eax]
push 0xa
push ebx
push edx
push eax
mov edi, edx
call dword [ecx + 0x38]
mov edx, edi
add esp, 0x10
mov edi, eax
test eax, eax
je 0x44915c
mov eax, dword [esp + 0x4c]
mov dword [eax], 1
xor ebx, ebx
cmp byte [esp + 0x13], 0
jne 0x449237
mov byte [esi + 0x2c], 0
cmp byte [esi + 0x2b], 0
je 0x4492ba
test bl, bl
je 0x449244
cmp dword [esi + 0x34], 0x2de218
jne 0x44926b
cmp byte [esi + 0x32], 0
je 0x4492a9
test edi, edi
je 0x4492a3
mov ecx, esi
xor edx, edx
call fcn.00449af0
mov byte [esi + 0x32], 0
cmp edi, 0x20a
mov eax, 0xffffffff
cmove edi, eax
jmp 0x4492a5
push 0x52b213
push 0xfa4e
push str.cannot_open_file
push str._s_at_line__d_of___.10s_
push 0xe
call fcn.004287c0
add esp, 0x14
cmp byte [esi + 0x32], 0
je 0x4492b3
mov ecx, esi
xor edx, edx
call fcn.00449af0
mov byte [esi + 0x32], 0
mov edi, 0xe
jmp 0x4492a5
xor edi, edi
mov byte [esi + 0x2b], 0
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, 0xe
jmp 0x4492a9
mov eax, dword [esi + 4]
mov ecx, dword [eax]
push 9
push 1
push 0
push eax
call dword [ecx + 0x38]
add esp, 0x10
test bl, bl
jne 0x44923b
jmp 0x449244
mov eax, dword [esp + 0x34]
xor ebx, ebx
cmp dword [esp + 0x30], 0x21
sbb eax, 0
jl 0x44975a
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x60], xmm0
movdqa xmmword [esp + 0x50], xmm0
mov eax, dword [esi + 8]
mov ecx, dword [eax]
lea edx, [esp + 0x50]
push 0
push 0
push 0x20
push edx
push eax
call dword [ecx + 8]
add esp, 0x14
mov edi, eax
test eax, eax
jne 0x449198
mov eax, dword [esp + 0x50]
shl eax, 0x18
movzx ecx, byte [esp + 0x51]
shl ecx, 0x10
or ecx, eax
movzx eax, byte [esp + 0x52]
shl eax, 8
or eax, ecx
movzx ecx, byte [esp + 0x53]
mov edx, ecx
and edx, 0xfffffffe
or edx, eax
cmp edx, 0x377f0682
jne 0x44975a
mov eax, dword [esp + 0x58]
shl eax, 0x18
movzx edi, byte [esp + 0x59]
shl edi, 0x10
or edi, eax
movzx eax, byte [esp + 0x5a]
shl eax, 8
movzx edx, byte [esp + 0x5b]
mov dword [esp], eax
or edx, eax
or edx, edi
lea eax, [edx - 1]
test edx, eax
jne 0x44975a
lea eax, [edx - 0x10001]
cmp eax, 0xffff01ff
jb 0x44975a
and ecx, 1
mov byte [esi + 0x41], cl
mov dword [esi + 0x24], edx
mov eax, dword [esp + 0x5c]
bswap eax
mov dword [esi + 0x70], eax
movq xmm0, qword [esp + 0x60]
movq qword [esi + 0x54], xmm0
xor ecx, 1
lea eax, [esi + 0x4c]
mov dword [esp + 0x14], edx
lea edx, [esp + 0x50]
push eax
push 0
push 0x18
call fcn.00447fa0
add esp, 0xc
mov eax, dword [esp + 0x68]
bswap eax
cmp dword [esi + 0x4c], eax
jne 0x44975a
mov eax, dword [esp + 0x6c]
bswap eax
cmp dword [esi + 0x50], eax
jne 0x44975a
mov eax, dword [esp + 0x54]
bswap eax
cmp eax, 0x2de218
jne 0x449988
mov dword [esp + 0x28], edi
call fcn.00423a30
mov edi, 7
test eax, eax
jne 0x449198
mov ebx, dword [esp + 0x14]
lea ecx, [ebx + 0x8018]
xor edx, edx
call fcn.00424d20
test eax, eax
je 0x449198
lea ecx, [eax + ebx]
add ecx, 0x18
mov dword [esp + 0x44], ecx
mov dword [esp + 0x18], eax
add eax, 0x18
mov dword [esp + 0x40], eax
add ebx, 0x18
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
add eax, 0xffffffe0
adc ecx, 0xffffffff
push 0
mov dword [esp + 0x18], ebx
push ebx
push ecx
push eax
call fcn.0050f570
add esp, 0x10
mov dword [esp + 0x74], eax
add eax, 0x21
shr eax, 0xc
mov dword [esp + 0x70], eax
mov ebx, dword [esp + 0x28]
shr ebx, 0x10
or ebx, dword [esp]
mov dword [esp + 0x28], ebx
mov ecx, 0xfde
xor ebx, ebx
mov dword [esp + 0x3c], 0
mov dword [esp], 0
mov eax, dword [esp + 0x74]
cmp ecx, eax
mov edx, eax
mov dword [esp + 0x80], ecx
cmovb edx, ecx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x2c], 0xffffffff
mov edi, dword [esp]
mov ecx, edi
shl ecx, 0xc
mov dword [esp + 0xc], ecx
add ecx, 0xfde
cmp ecx, eax
cmovae ecx, eax
mov dword [esp + 0x48], ecx
cmp dword [esi + 0x18], edi
mov ecx, edi
jle 0x4494e5
mov eax, dword [esi + 0x20]
mov dword [esp + 4], eax
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2c], eax
xor edi, edi
test eax, eax
jne 0x44950e
mov edx, ecx
mov ecx, esi
lea eax, [esp + 0x2c]
push eax
call fcn.00449bb0
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4499b0
mov ecx, dword [esi + 0x20]
mov dword [esp + 4], ecx
mov ecx, dword [esp]
mov dword [esp], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
add eax, 0xffffffdf
test ecx, ecx
mov ecx, 1
cmove eax, ecx
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 4]
mov eax, dword [esp]
mov dword [edx + eax*4], ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp]
cmp eax, dword [esp + 0x48]
jbe 0x449551
mov al, 1
mov dword [esp + 4], eax
mov edx, dword [esp + 8]
jmp 0x44959f
dec eax
mul dword [esp + 0x14]
add eax, 0x20
adc edx, 0
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x20], 0xffffffff
mov ecx, dword [esi + 8]
mov edi, dword [ecx]
mov dword [esp + 4], edi
push edx
push eax
push dword [esp + 0x1c]
push dword [esp + 0x24]
push ecx
mov eax, dword [esp + 0x18]
call dword [eax + 8]
add esp, 0x14
xor edi, edi
test eax, eax
je 0x449605
xor ecx, ecx
mov edi, eax
mov edx, dword [esp + 8]
mov dword [esp + 4], ecx
mov ecx, dword [esp]
test ecx, ecx
mov eax, dword [esi + 0x20]
mov dword [eax + ecx*4], edx
mov eax, 0
mov ecx, 0x88
cmove eax, ecx
add edx, eax
mov dword [esp + 8], edx
mov ecx, 0x8000
sub ecx, eax
mov edx, dword [esp + 0x44]
add eax, edx
push ecx
push eax
push dword [esp + 0x10]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
test byte [esp + 4], 1
je 0x4499b0
mov edx, dword [esp]
lea eax, [edx + 1]
mov ecx, dword [esp + 0x80]
add ecx, 0x1000
cmp edx, dword [esp + 0x70]
mov dword [esp], eax
jne 0x449491
jmp 0x4499b0
mov ecx, esi
lea edx, [esp + 0x24]
push dword [esp + 0x18]
push dword [esp + 0x44]
lea eax, [esp + 0x28]
push eax
call fcn.00449cd0
add esp, 0xc
test eax, eax
je 0x4496f8
mov dword [esp + 4], 0
mov edx, dword [esp + 0xc]
mov ecx, esi
mov dword [esp + 0xc], edx
push dword [esp + 0x24]
call fcn.00448480
add esp, 4
test eax, eax
jne 0x4496ff
mov eax, dword [esp + 0x20]
test eax, eax
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0xc]
je 0x449676
mov dword [esi + 0x44], edi
mov dword [esi + 0x48], eax
mov word [esi + 0x42], cx
mov eax, dword [esi + 0x4c]
mov dword [esp + 0x3c], eax
mov ebx, dword [esi + 0x50]
cmp edi, dword [esp + 0x48]
setae al
mov dword [esp + 4], eax
cmp dword [esp + 0x7c], edi
je 0x44970e
mov eax, edi
mul edx
add eax, 0x20
adc edx, 0
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x20], 0xffffffff
mov ecx, dword [esi + 8]
mov edi, dword [ecx]
mov dword [esp + 0x78], edi
push edx
push eax
push dword [esp + 0x1c]
push dword [esp + 0x24]
push ecx
mov eax, dword [esp + 0x8c]
call dword [eax + 8]
add esp, 0x14
test eax, eax
jne 0x4496ff
mov edi, dword [esp + 0xc]
inc edi
mov ecx, esi
lea edx, [esp + 0x24]
push dword [esp + 0x18]
push dword [esp + 0x44]
lea eax, [esp + 0x28]
push eax
call fcn.00449cd0
add esp, 0xc
test eax, eax
mov edx, edi
jne 0x449634
xor edi, edi
jmp 0x449701
xor ecx, ecx
jmp 0x449594
mov edi, eax
mov edx, dword [esp + 8]
mov ecx, dword [esp + 4]
jmp 0x449598
xor edi, edi
mov ecx, dword [esp]
jmp 0x44954b
mov eax, dword [esi + 4]
mov ecx, dword [eax]
push 6
push 1
push 0
push eax
call dword [ecx + 0x38]
add esp, 0x10
mov edi, eax
test eax, eax
jne 0x449244
cmp byte [esi + 0x2b], 0
jne 0x4491c7
mov eax, dword [esi + 4]
mov ecx, dword [eax]
push 5
push 1
push 0
push eax
call dword [ecx + 0x38]
add esp, 0x10
mov edi, 0x108
jmp 0x449244
xor eax, eax
mov dword [esp], ebx
mov dword [esi + 0x4c], eax
mov dword [esi + 0x50], ebx
mov edi, eax
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x38]
mov ebx, dword [eax]
mov byte [esi + 0x40], 1
mov dword [esi + 0x34], 0x2de218
mov edx, dword [esi + 0x40]
add edx, ecx
mov eax, dword [esi + 0x3c]
add eax, ecx
add eax, 0x5bc430
lea ecx, [edx + eax]
add ecx, 0x2de218
add eax, dword [esi + 0x44]
add eax, ecx
add ecx, dword [esi + 0x48]
add ecx, eax
add eax, edi
add eax, ecx
add ecx, dword [esp]
add ecx, eax
add eax, dword [esi + 0x54]
add eax, ecx
add ecx, dword [esi + 0x58]
add ecx, eax
mov dword [esi + 0x5c], eax
mov dword [esi + 0x60], ecx
lea edi, [esi + 0x34]
movups xmm0, xmmword [edi + 0x20]
movups xmmword [ebx + 0x50], xmm0
movups xmm0, xmmword [edi]
movups xmm1, xmmword [edi + 0x10]
movups xmmword [ebx + 0x40], xmm1
movups xmmword [ebx + 0x30], xmm0
cmp byte [esi + 0x2b], 2
je 0x4497e1
mov eax, dword [esi + 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x3c]
add esp, 4
movups xmm0, xmmword [edi + 0x20]
movups xmmword [ebx + 0x20], xmm0
movdqu xmm0, xmmword [edi]
movups xmm1, xmmword [edi + 0x10]
movups xmmword [ebx + 0x10], xmm1
movdqu xmmword [ebx], xmm0
mov eax, dword [esi + 0x20]
mov ebx, dword [eax]
mov dword [ebx + 0x60], 0
mov eax, dword [esi + 0x44]
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x64], 0
cmp byte [esi + 0x2b], 0
je 0x449844
mov eax, dword [esi + 0x44]
xor ecx, ecx
cmp eax, 1
sbb ecx, ecx
or ecx, eax
mov dword [ebx + 0x68], ecx
cmp byte [esi + 0x2b], 0
jne 0x449870
mov eax, dword [esi + 4]
mov ecx, dword [eax]
push 9
push 1
push 4
push eax
call dword [ecx + 0x38]
add esp, 0x10
jmp 0x449866
mov eax, dword [esi + 4]
mov ecx, dword [eax]
push 0xa
push 1
push 4
push eax
call dword [ecx + 0x38]
add esp, 0x10
cmp eax, 5
je 0x449866
mov edi, eax
test eax, eax
je 0x44981b
jmp 0x449198
cmp byte [esi + 0x2b], 0
je 0x44990a
mov dword [ebx + 0x6c], 0xffffffff
cmp byte [esi + 0x2b], 0
jne 0x449899
mov eax, dword [esi + 4]
mov ecx, dword [eax]
push 9
push 1
push 5
push eax
call dword [ecx + 0x38]
add esp, 0x10
cmp byte [esi + 0x2b], 0
je 0x449934
mov dword [ebx + 0x70], 0xffffffff
cmp byte [esi + 0x2b], 0
jne 0x4498c2
mov eax, dword [esi + 4]
mov ecx, dword [eax]
push 9
push 1
push 6
push eax
call dword [ecx + 0x38]
add esp, 0x10
cmp byte [esi + 0x2b], 0
je 0x44995e
mov dword [ebx + 0x74], 0xffffffff
xor edi, edi
cmp byte [esi + 0x2b], 0
jne 0x4498e3
mov eax, dword [esi + 4]
mov ecx, dword [eax]
push 9
push 1
push 7
push eax
call dword [ecx + 0x38]
add esp, 0x10
cmp dword [esi + 0x48], 0
je 0x449198
push dword [esi + 0x6c]
push dword [esi + 0x44]
push str.recovered__d_frames_from_WAL_file__s
push 0x11b
call fcn.004287c0
add esp, 0x10
jmp 0x449198
mov eax, dword [esi + 4]
mov ecx, dword [eax]
push 0xa
push 1
push 5
push eax
call dword [ecx + 0x38]
add esp, 0x10
cmp eax, 5
je 0x44988f
mov edi, eax
test eax, eax
je 0x449870
jmp 0x449198
mov eax, dword [esi + 4]
mov ecx, dword [eax]
push 0xa
push 1
push 6
push eax
call dword [ecx + 0x38]
add esp, 0x10
cmp eax, 5
je 0x4498b8
mov edi, eax
test eax, eax
je 0x449899
jmp 0x449198
mov eax, dword [esi + 4]
mov ecx, dword [eax]
push 0xa
push 1
push 7
push eax
call dword [ecx + 0x38]
add esp, 0x10
mov edi, eax
cmp eax, 5
je 0x4498e3
test edi, edi
je 0x4498c2
jmp 0x449198
push 0x52b213
push 0xf5c3
push str.cannot_open_file
push str._s_at_line__d_of___.10s_
push 0xe
call fcn.004287c0
add esp, 0x14
mov edi, 0xe
jmp 0x449198
push dword [esp + 0x18]
call fcn.00424f10
add esp, 4
test edi, edi
mov eax, dword [esp + 0x3c]
jne 0x449198
jmp 0x44975c