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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x98
mov eax, dword [edx + 0x34]
mov dword [esp + 0x94], ecx
mov ecx, dword [edx + 0x108]
mov esi, dword [esp + 0xac]
mov edi, dword [edx + 8]
mov dword [esp + 0x84], 1
and dword [esp + 0x88], 0
and dword [esp + 0x8c], 0
mov dword [esp + 0x24], edx
mov dword [esp + 0x18], eax
xor eax, 0x110000
mov dword [esp + 0x1c], ecx
lea ebp, [esi + 0x38]
or eax, ecx
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x80], ebp
sete al
test edi, edi
je 0x41917b
test ecx, ecx
jne 0x41917b
test al, al
jne 0x41917f
cmp byte [edx + 0x118], 4
jne 0x419604
movsd xmm0, qword [ebp]
movsd xmm1, qword [ebp + 6]
lea esi, [esp + 0x50]
mov ecx, ebp
movsd qword [esi + 6], xmm1
movsd qword [esi], xmm0
call fcn.00419028
lea ecx, [esp + 0xc]
mov dword [ecx], eax
lea eax, [esp + 0x60]
mov dword [ecx + 4], edx
mov dword [eax], esi
mov dword [eax + 4], 0x4159a6
mov dword [eax + 8], ecx
lea ecx, [esp + 0x28]
mov dword [eax + 0xc], fcn.00417b33
mov dword [ecx], str.assertion_failed:_mid___self.len__chunk_size_must_be_non_zero
push 2
pop edx
mov dword [ecx + 4], edx
and dword [ecx + 0x10], 0
mov dword [ecx + 8], eax
lea eax, [esp + 0x84]
mov dword [ecx + 0xc], edx
push ecx
jmp 0x4195fc
test al, al
je 0x41919c
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0x110000
mov dword [esp + 0x40], 0
jmp 0x419265
mov dword [esp + 8], ecx
mov ecx, edx
add esi, 0x2a
call fcn.00419638
xor ecx, ecx
test eax, eax
mov eax, 0x5b65dc
mov edx, 0x63c0ef
mov ebx, 0x58d328
cmove edx, eax
mov eax, 0x63c128
sete cl
cmove esi, ebp
cmove eax, ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x40], ecx
cmp byte [ebx + 0x104], 0
lea ebx, [esp + 0x44]
cmovns esi, ebp
cmovns eax, edx
inc ecx
lea ebp, [esp + 0x50]
movsd xmm1, qword [esi + 6]
movsd xmm0, qword [esi]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov ecx, esi
movsd qword [ebp + 6], xmm1
movsd qword [ebp], xmm0
call fcn.00419028
lea ecx, [esp + 0xc]
mov dword [ecx], eax
mov dword [ecx + 4], edx
lea eax, [esp + 0x28]
mov edx, fcn.00417b33
mov dword [eax], ebp
mov dword [eax + 4], 0x4159a6
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ecx
lea ecx, [esp + 0x60]
mov dword [eax + 0x14], edx
mov dword [ecx], str.assertion_failed:_mid___self.len__chunk_size_must_be_non_zero
push 3
pop edx
mov dword [ecx + 4], edx
and dword [ecx + 0x10], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
lea eax, [esp + 0x84]
push ecx
push eax
call fcn.00419087
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
add esp, 8
mov bl, byte [esp + 0xb0]
cmp bl, 2
jne 0x419277
mov bl, byte [edx + 0x104]
and dword [esp + 0x10], 0
and bl, 1
and dword [esp + 0x14], 0
xor eax, eax
inc eax
test edi, edi
mov edi, eax
mov dword [esp + 0xc], eax
je 0x419296
mov edi, dword [edx + 0xc]
mov eax, ecx
mov dword [esp + 0x7c], eax
mov eax, dword [edx + 0xc4]
test eax, eax
je 0x4192d9
mov edx, dword [edx + 0xbc]
lea esi, [esp + 0x50]
mov ecx, esi
push eax
call fcn.00419646
pop eax
mov edx, dword [esi + 8]
mov ebp, dword [esi]
cmp edx, 1
jne 0x41938c
mov eax, dword [esp + 0x54]
mov esi, dword [ebp]
mov dword [esp + 4], ebp
mov ebp, dword [ebp + 4]
mov byte [esp + 3], bl
jmp 0x41930c
mov byte [esp + 3], bl
push 8
pop ecx
mov ebx, edi
mov edi, edx
push 4
pop edx
call fcn.004b8ae6
mov esi, dword [edi + 0x3c]
mov ebp, dword [edi + 0x40]
mov dword [esp + 4], eax
mov edi, ebx
mov dword [eax], esi
mov dword [eax + 4], ebp
mov dword [esp + 0x50], eax
xor eax, eax
mov dword [esp + 0x54], 1
inc eax
mov dword [esp + 0x20], eax
cmp edi, 1
mov dword [esp + 8], edi
adc edi, 0
and dword [esp + 0x58], 0
mov ecx, edi
call fcn.004b8d0d
lea ebx, [esp + 0x28]
mov dword [ebx], eax
mov dword [ebx + 4], edx
and dword [ebx + 8], 0
mov ecx, ebx
mov edx, edi
call fcn.004196ae
mov eax, dword [ebx + 8]
lea ecx, [eax*8]
add eax, edi
dec edi
add ecx, dword [ebx]
mov bl, byte [esp + 3]
sub edi, 1
jb 0x41935e
mov dword [ecx], esi
mov dword [ecx + 4], ebp
add ecx, 8
jmp 0x41934f
mov dword [ecx], esi
mov dword [ecx + 4], ebp
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x58], eax
movsd xmm0, qword [esp + 0x28]
movsd qword [esp + 0x50], xmm0
call fcn.00478cba
mov ebp, dword [esp + 0x50]
mov edx, dword [esp + 0x58]
mov edi, dword [esp + 8]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x78], edx
lea edx, [edx*8]
mov dword [esp + 0x20], 0
mov dword [esp + 4], ebp
xor eax, 0x110000
or eax, dword [esp + 0x1c]
setne al
test edi, edi
setne cl
and bl, cl
lea ecx, [esp + 0x60]
or bl, al
mov eax, dword [esp + 0x24]
mov byte [esp + 3], bl
test edx, edx
je 0x419486
lea eax, [esp + 0x90]
test bl, bl
mov dword [esp + 8], edx
mov dword [esp + 0x90], ebp
je 0x4193fc
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 0x419698
mov dword [esp + 0x28], 0x58d2e8
jmp 0x419410
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 0x419698
mov dword [esp + 0x28], 0x635f58
mov dword [esp + 0x2c], 2
and dword [esp + 0x38], 0
lea eax, [esp + 0x44]
lea edx, [esp + 0x28]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 1
call fcn.00418a4d
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
sub dword [esp + 0x20], 1
lea ecx, [esp + 0xc]
jb 0x419459
push 0x20
pop edx
call fcn.0041897a
lea ecx, [esp + 0xc]
add ebp, 8
mov edx, ebx
push edi
call fcn.004fc225
pop eax
mov ecx, ebx
mov edx, esi
call fcn.00448429
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x24]
mov bl, byte [esp + 3]
lea ecx, [esp + 0x60]
add edx, 0xfffffff8
jmp 0x4193c8
cmp dword [esp + 0x1c], 0
jne 0x4194bb
cmp dword [esp + 0x18], 0x110000
jne 0x4194bb
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x80]
mov edi, dword [esp + 4]
lea ebp, [esp + 0x28]
cmp ecx, dword [esp + 0x7c]
jb 0x4194d4
cmp byte [eax + 0x118], 1
jne 0x4194e5
jmp 0x4194d4
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x80]
mov edi, dword [esp + 4]
lea ebp, [esp + 0x28]
cmp eax, dword [esp + 0x7c]
jae 0x4194e5
lea ecx, [esp + 0xc]
mov edx, 0x635fda
push 3
call fcn.004fc225
pop eax
lea esi, [esp + 0x50]
mov eax, dword [esp + 0x14]
movsd xmm0, qword [esp + 0xc]
mov ecx, edi
mov edx, dword [esi + 4]
mov dword [esp + 0x4c], eax
movsd qword [esp + 0x44], xmm0
call fcn.00478cba
movsd xmm1, qword [ebx + 6]
movsd xmm0, qword [ebx]
mov ecx, ebx
movsd qword [esi + 6], xmm1
movsd qword [esi], xmm0
call fcn.00419028
mov dword [esp + 0xc], eax
lea eax, [esp + 0x44]
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], 0x4159a6
mov dword [esp + 0x10], edx
mov dword [esp + 0x60], 0x637518
mov dword [esp + 0x30], eax
lea eax, [esp + 0xc]
mov dword [esp + 0x34], fcn.00417a93
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], fcn.00417b33
push 3
pop eax
mov dword [esp + 0x64], eax
and dword [esp + 0x70], 0
lea edi, [esp + 0x60]
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x84]
push edi
push eax
call fcn.00419087
pop ecx
pop edx
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
call fcn.00448429
cmp byte [esp + 0x40], 0
je 0x419604
movsd xmm1, qword [ebx + 6]
movsd xmm0, qword [ebx]
mov ecx, ebx
movsd qword [esp + 0x56], xmm1
movsd qword [esp + 0x50], xmm0
call fcn.00419028
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], 0x4159a6
mov dword [esp + 0x10], edx
mov dword [esp + 0x28], 0x58d33c
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], fcn.00417b33
push 2
pop eax
mov dword [esp + 0x2c], eax
and dword [esp + 0x38], 0
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], eax
push ebp
lea eax, [esp + 0x88]
push eax
call fcn.00419087
pop ecx
pop edx
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x94]
movsd xmm0, qword [esp + 0x84]
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
add esp, 0x98
pop esi
pop edi
pop ebx
pop ebp
ret