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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xa0
mov ebx, dword [ebp + 8]
cmp dword [ebp + 0xc], 0
mov edi, edx
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ecx
je 0x43b9e3
test edi, edi
mov dword [esp + 0x68], edi
je 0x43b9ea
xor eax, eax
lea ecx, [esp + 0x68]
xor edx, edx
cmp dword [edi + 0x18], ebx
lea esi, [edi + 0x10]
mov edi, dword [edi + 0x10]
setbe dl
cmovbe ecx, esi
add eax, edx
test edi, edi
mov dword [ecx], edi
jne 0x43b9c0
mov edi, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
jmp 0x43b9ee
mov eax, 1
jmp 0x43b9ee
xor edi, edi
xor eax, eax
add dword [ecx + 0xc0], eax
cmp dword [edi + 0x18], 1
jne 0x43ba1b
mov edx, dword [edi + 0x14]
mov eax, dword [edi + 4]
mov edx, dword [edx + 0x68]
bswap edx
inc edx
bswap edx
mov dword [eax + 0x18], edx
mov eax, dword [edi + 4]
mov dword [eax + 0x5c], edx
mov eax, dword [edi + 4]
mov dword [eax + 0x60], 0xc2432e00
mov eax, dword [ecx + 0x98]
mov ebx, dword [ecx + 0xd8]
pcmpeqd xmm0, xmm0
mov dword [esp + 0x1c], eax
movzx eax, byte [ecx + 0xb]
movdqa xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], 0xffffffff
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 0x20]
mov esi, dword [eax]
lea eax, [ebx + 0x34]
push 0x30
push esi
mov dword [esp + 0x5c], eax
push eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcmp
add esp, 0xc
test eax, eax
je 0x43ba79
mov eax, dword [esi + 0x10]
inc eax
mov dword [esp + 0x18], eax
jmp 0x43ba81
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x1c]
cmp word [ebx + 0x28], 0
mov dword [esp + 0x20], edi
je 0x43bc19
mov esi, dword [ebx + 0x44]
test esi, esi
mov dword [esp + 0x2c], esi
je 0x43bdbf
lea edx, [ecx + 0x18]
mov ecx, esi
mov dword [esp + 0x70], ebx
mov dword [esp + 0x10], ebx
mov eax, edx
mov dword [esp + 0x60], edx
sar eax, 0x1f
mov dword [esp + 0x64], eax
imul ecx, eax
mov eax, esi
mul edx
add eax, 0x20
adc edx, ecx
mov ecx, dword [ebx + 8]
test edi, edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ecx
je 0x43bec5
mov dword [esp + 0x5c], 0
jmp 0x43bb50
mov ecx, dword [ebx + 8]
mov esi, dword [ecx]
push edx
push eax
push dword [esp + 0x24]
push dword [edi + 4]
push ecx
call dword [esi + 0xc]
add esp, 0x14
test eax, eax
jne 0x43beb8
and byte [edi + 0x1c], 0xbf
nop dword [eax + eax]
mov edi, dword [edi + 0x10]
mov esi, 0
test edi, edi
je 0x43becf
cmp dword [esp + 0x18], 0
je 0x43bb94
cmp dword [ebp + 0xc], 0
je 0x43bb70
cmp dword [edi + 0x10], 0
jne 0x43bb70
inc dword [esp + 0x2c]
xor eax, eax
jmp 0x43bba1
mov dword [esp + 0x30], 0
mov ecx, ebx
lea eax, [esp + 0x30]
mov edx, dword [edi + 0x18]
push eax
call fcn.0043d490
add esp, 4
mov ecx, dword [esp + 0x30]
cmp ecx, dword [esp + 0x18]
jae 0x43bbf2
inc dword [esp + 0x2c]
cmp dword [ebp + 0xc], 0
je 0x43bbae
mov eax, dword [edi + 0x10]
test eax, eax
mov eax, 0
cmove eax, dword [ebp + 8]
jmp 0x43bbb0
xor eax, eax
mov ebx, dword [esp + 0x24]
lea ecx, [esp + 0x70]
mov edx, edi
push ebx
mov esi, dword [esp + 0x18]
push esi
push eax
call fcn.0043d660
add esp, 0xc
test eax, eax
jne 0x43beb8
add esi, dword [esp + 0x60]
adc ebx, dword [esp + 0x64]
mov dword [esp + 0x14], esi
mov dword [esp + 0x24], ebx
or byte [edi + 0x1c], 0x40
mov dword [esp + 0x5c], edi
mov ebx, dword [esp + 0x10]
jmp 0x43bb40
lea eax, [ecx - 1]
mov esi, eax
mul dword [esp + 0x60]
imul esi, dword [esp + 0x64]
add eax, 0x38
adc edx, esi
mov esi, dword [ebx + 0x68]
dec esi
cmp esi, ecx
jb 0x43bb17
mov dword [ebx + 0x68], ecx
jmp 0x43bb17
cmp dword [esi + 0x60], 0
je 0x43c118
lea eax, [esp + 0x30]
mov dword [esp + 0x30], 0xffffffff
push eax
push 4
call fcn.0041f260
add esp, 8
cmp byte [ebx + 0x2b], 0
je 0x43c0f3
mov edx, dword [ebx + 0x20]
mov ecx, dword [ebx + 0x54]
mov esi, dword [esp + 0x30]
mov eax, dword [edx]
bswap ecx
inc ecx
mov dword [esp + 0x14], eax
inc dword [ebx + 0x70]
mov eax, ebx
mov dword [ebx + 0x44], 0
mov ebx, ecx
mov dword [esp + 0x24], esi
shr ebx, 0x18
mov dword [esp + 0x10], eax
mov byte [eax + 0x54], bl
mov ebx, ecx
shr ebx, 0x10
mov byte [eax + 0x55], bl
mov byte [eax + 0x56], ch
mov byte [eax + 0x57], cl
mov dword [eax + 0x58], esi
mov esi, dword [esp + 0x54]
lea ecx, [eax + 0x5c]
mov edi, dword [edx]
mov byte [eax + 0x40], 1
mov dword [eax + 0x34], 0x2de218
mov ebx, dword [eax + 0x38]
lea edx, [esi + 8]
cmp edx, ecx
mov edx, 0x2de218
lea ecx, [ebx + 0x2de218]
jae 0x43bcd8
mov edx, dword [esi + 8]
add ecx, dword [esi + 0xc]
lea edx, [ebx + edx + 0x5bc430]
add ecx, edx
add edx, ecx
add ecx, dword [esi + 0x14]
add ecx, edx
add edx, dword [esi + 0x18]
add edx, ecx
add ecx, dword [esi + 0x1c]
add ecx, edx
add edx, dword [esi + 0x20]
add edx, ecx
add ecx, dword [esp + 0x24]
add ecx, edx
mov ebx, dword [esp + 0x10]
mov dword [ebx + 0x5c], edx
mov dword [ebx + 0x60], ecx
movsd xmm0, qword [esi + 0x28]
movsd qword [edi + 0x58], xmm0
movsd xmm0, qword [esi + 0x20]
movsd qword [edi + 0x50], xmm0
movsd xmm0, qword [esi + 0x18]
movsd qword [edi + 0x48], xmm0
movsd xmm0, qword [esi + 0x10]
movsd qword [edi + 0x40], xmm0
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd qword [edi + 0x38], xmm1
movsd qword [edi + 0x30], xmm0
cmp byte [ebx + 0x2b], 2
je 0x43bd33
mov eax, dword [ebx + 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x3c]
mov esi, dword [esp + 0x58]
add esp, 4
movsd xmm0, qword [esi + 0x28]
mov eax, dword [esp + 0x14]
movsd qword [edi + 0x28], xmm0
movsd xmm0, qword [esi + 0x20]
movsd qword [edi + 0x20], xmm0
movsd xmm0, qword [esi + 0x18]
movsd qword [edi + 0x18], xmm0
movsd xmm0, qword [esi + 0x10]
movsd qword [edi + 0x10], xmm0
movq xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd qword [edi + 8], xmm1
movq qword [edi], xmm0
mov dword [eax + 0x60], 0
mov dword [eax + 0x80], 0
mov dword [eax + 0x68], 0
mov dword [eax + 0x6c], 0xffffffff
mov dword [eax + 0x70], 0xffffffff
mov dword [eax + 0x74], 0xffffffff
cmp byte [ebx + 0x2b], 0
jne 0x43c118
mov eax, dword [ebx + 4]
mov ecx, dword [eax]
push 9
push 4
push 4
push eax
call dword [ecx + 0x38]
add esp, 0x10
jmp 0x43c118
mov eax, ecx
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x30], 0x82067f37
mov dword [esp + 0x34], 0x18e22d00
shr eax, 0x18
mov byte [esp + 0x38], al
mov eax, ecx
shr eax, 0x10
mov byte [esp + 0x39], al
mov byte [esp + 0x3a], ch
mov byte [esp + 0x3b], cl
mov eax, dword [ebx + 0x70]
test eax, eax
bswap eax
mov dword [esp + 0x3c], eax
jne 0x43be24
lea eax, [ebx + 0x54]
push eax
push 8
call fcn.0041f260
add esp, 8
mov edx, dword [ebx + 0x54]
mov esi, dword [ebx + 0x58]
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
add ecx, eax
add eax, ecx
add ecx, dword [esp + 0x3c]
add eax, dword [esp + 0x38]
add ecx, eax
add eax, edx
add eax, ecx
add ecx, esi
mov edx, eax
add ecx, eax
shr edx, 0x18
mov byte [esp + 0x48], dl
mov edx, eax
shr edx, 0x10
mov byte [esp + 0x49], dl
mov edx, ecx
mov byte [esp + 0x4a], ah
mov byte [esp + 0x4b], al
shr edx, 0x18
mov byte [esp + 0x4c], dl
mov edx, ecx
shr edx, 0x10
mov byte [esp + 0x4d], dl
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x4e], ch
mov byte [esp + 0x4f], cl
mov dword [ebx + 0x24], edx
mov byte [ebx + 0x41], 0
mov dword [ebx + 0x4c], eax
mov dword [ebx + 0x50], ecx
mov byte [ebx + 0x2f], 1
lea edx, [esp + 0x30]
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
push 0
push 0
push 0x20
push edx
push eax
call dword [ecx + 0xc]
add esp, 0x14
test eax, eax
je 0x43c0b2
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
jmp 0x43c5a8
mov dword [esp + 0x5c], 0
xor esi, esi
cmp dword [ebp + 0xc], 0
mov edi, dword [esp + 0x20]
mov eax, 0
je 0x43c3ac
cmp dword [ebx + 0x68], 0
je 0x43c1ab
mov esi, dword [ebx + 0x24]
pcmpeqd xmm0, xmm0
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x40], 0xffffffff
movdqa xmmword [esp + 0x30], xmm0
call fcn.0041acf0
cmp esi, 0xffffffe9
jl 0x43c0e6
test eax, eax
jne 0x43c0e6
mov ecx, esi
xor edx, edx
xor esi, esi
add ecx, 0x18
mov dword [esp + 0xc], ecx
call fcn.0041c030
test eax, eax
je 0x43c0e6
mov ecx, dword [ebx + 0x68]
mov edi, eax
lea eax, [ecx - 2]
mul dword [esp + 0xc]
add eax, 0x30
adc edx, 0
cmp ecx, 1
mov ecx, dword [ebx + 8]
cmove edx, esi
mov esi, 0x18
cmovne esi, eax
mov eax, dword [ecx]
push edx
push esi
push 8
push edi
push ecx
call dword [eax + 8]
add esp, 0x14
mov ecx, dword [edi]
test eax, eax
mov dword [esp + 0x28], edi
bswap ecx
mov dword [ebx + 0x4c], ecx
mov ecx, dword [edi + 4]
bswap ecx
mov dword [ebx + 0x50], ecx
mov ecx, dword [ebx + 0x68]
mov dword [ebx + 0x68], 0
jne 0x43c046
cmp ecx, dword [esp + 0x2c]
ja 0x43c046
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0xc]
inc ecx
add eax, 0x18
sar edx, 0x1f
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
nop word cs:[eax + eax]
mov esi, dword [esp + 0xc]
lea eax, [ecx - 2]
mov dword [esp + 0x18], ecx
mov ecx, eax
imul ecx, dword [esp + 0x94]
mul esi
mov edi, eax
mov eax, dword [esp + 0x10]
mov ebx, edx
add edi, 0x20
adc ebx, ecx
mov eax, dword [eax + 8]
mov ecx, dword [eax]
push ebx
push edi
push esi
mov esi, dword [esp + 0x34]
push esi
push eax
call dword [ecx + 8]
add esp, 0x14
test eax, eax
jne 0x43c046
mov eax, dword [esi + 4]
mov edx, dword [esi]
mov ecx, dword [esp + 0x10]
lea esi, [esp + 0x30]
bswap eax
bswap edx
push esi
push dword [esp + 0x94]
push eax
call fcn.0043f110
add esp, 0xc
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
push ebx
push edi
push 0x18
push esi
push eax
call dword [ecx + 0xc]
add esp, 0x14
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x2c]
ja 0x43c046
inc ecx
test eax, eax
je 0x43bfc0
cmp dword [0x51d1a8], 0
mov dword [esp + 0xc], eax
je 0x43c18f
mov eax, dword [0x51e858]
test eax, eax
je 0x43c06a
push eax
call dword [0x51d1f8]
add esp, 4
mov esi, dword [esp + 0x28]
push esi
call dword [0x51d1d4]
add esp, 4
sub dword [0x51e800], eax
dec dword [0x51e824]
push esi
call dword [0x51d1cc]
add esp, 4
mov eax, dword [0x51e858]
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
test eax, eax
je 0x43c1a4
push eax
call dword [0x51d200]
add esp, 4
jmp 0x43c1a4
cmp byte [ebx + 0x30], 0
je 0x43c0d9
mov eax, dword [esp + 0x58]
shr eax, 2
and eax, 3
je 0x43c0d9
mov ecx, dword [ebx + 8]
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0x14]
add esp, 8
test eax, eax
jne 0x43beb8
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x2c]
jmp 0x43baa3
mov dword [esp + 0xc], 7
jmp 0x43c186
mov eax, dword [ebx + 4]
mov ecx, dword [eax]
push 0xa
push 4
push 4
push eax
call dword [ecx + 0x38]
add esp, 0x10
cmp eax, 5
je 0x43c118
test eax, eax
je 0x43bc44
mov dword [esp + 0xc], eax
jmp 0x43c177
cmp byte [ebx + 0x2b], 0
jne 0x43c130
mov eax, dword [ebx + 4]
mov ecx, dword [eax]
push 5
push 1
push 3
push eax
call dword [ecx + 0x38]
add esp, 0x10
mov word [ebx + 0x28], 0xffff
mov esi, ebx
mov ebx, 1
lea edi, [esp + 0x30]
nop word cs:[eax + eax]
nop dword [eax + eax]
mov dword [esp + 0x30], 0xffffffff
mov ecx, esi
mov edx, edi
push ebx
push 1
call fcn.0043dc70
add esp, 8
inc ebx
cmp eax, 0xffffffff
je 0x43c150
mov edi, dword [esp + 0x20]
mov dword [esp + 0xc], eax
mov ebx, esi
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0xc], 0
je 0x43ba94
mov eax, dword [esp + 0xc]
jmp 0x43c5a8
push dword [esp + 0x28]
call dword [0x51d1cc]
add esp, 4
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
cmp dword [esp + 0xc], 0
jne 0x43c186
and dword [esp + 0x58], 3
je 0x43c1eb
cmp byte [ebx + 0x31], 0
je 0x43c1f4
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x2c]
test ecx, ecx
je 0x43c1fb
push eax
call ecx
add esp, 4
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x14]
mov ecx, 0x200
cmp eax, 0x20
jl 0x43c208
cmp eax, 0x10001
mov ecx, 0x10000
cmovl ecx, eax
jmp 0x43c208
xor eax, eax
xor esi, esi
jmp 0x43c2cc
xor esi, esi
jmp 0x43c2b8
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x14]
mov ecx, 0x1000
mov dword [esp + 0x14], ebx
add ebx, ecx
mov esi, edi
adc esi, 0
add ebx, 0xffffffff
adc esi, 0xffffffff
push 0
push ecx
push esi
push ebx
call fcn.004fb390
add esp, 0x10
sub ebx, eax
mov dword [esp + 0x18], 0
sbb esi, edx
cmp dword [esp + 0x14], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x7c], esi
mov dword [esp + 0x28], esi
sbb edi, esi
jge 0x43c293
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
lea esi, [esp + 0x70]
mov dword [esp + 0x18], 0
nop
mov edx, dword [esp + 0x5c]
mov ecx, esi
push edi
push ebx
push dword [ebp + 8]
call fcn.0043d660
add esp, 0xc
test eax, eax
jne 0x43beb8
add ebx, dword [esp + 0x60]
adc edi, dword [esp + 0x64]
inc dword [esp + 0x18]
cmp ebx, dword [esp + 0xc]
mov eax, edi
sbb eax, dword [esp + 0x28]
jl 0x43c260
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
xor eax, dword [esp + 0x14]
xor ecx, dword [esp + 0x24]
or ecx, eax
mov eax, 0
jne 0x43c2cc
mov ecx, dword [esp + 0x98]
mov eax, dword [ecx]
push dword [esp + 0x58]
push ecx
call dword [eax + 0x14]
add esp, 8
cmp byte [ebx + 0x2f], 0
je 0x43c3ac
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0xc], eax
test ecx, ecx
js 0x43c3a8
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x18], esi
mov dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x2c]
add eax, esi
mov esi, dword [esp + 0x64]
imul esi, eax
mul dword [esp + 0x60]
mov edi, eax
mov ebx, edx
add edi, 0x20
adc ebx, esi
mov esi, dword [esp + 0x14]
mov eax, ebx
cmp edi, esi
sbb eax, ecx
mov eax, dword [0x51ebb4]
cmovl ebx, ecx
cmovl edi, esi
test eax, eax
je 0x43c335
call eax
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x30]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x18]
add esp, 8
mov esi, eax
test eax, eax
jne 0x43c372
xor esi, esi
cmp edi, dword [esp + 0x30]
mov eax, ebx
sbb eax, dword [esp + 0x34]
jge 0x43c372
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
push ebx
push edi
push eax
call dword [ecx + 0x10]
add esp, 0xc
mov esi, eax
mov eax, dword [0x51ebb8]
test eax, eax
je 0x43c37d
call eax
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
test esi, esi
je 0x43c39a
push dword [ebx + 0x6c]
push str.cannot_limit_WAL_size:__s
push esi
call fcn.0041f100
add esp, 0xc
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x18]
mov byte [ebx + 0x2f], 0
jmp 0x43c3ac
mov eax, dword [esp + 0xc]
mov ebx, dword [ebx + 0x44]
test edi, edi
je 0x43c3e5
test eax, eax
jne 0x43c3e5
nop word [eax + eax]
xor eax, eax
test byte [edi + 0x1c], 0x40
je 0x43c3da
mov ecx, dword [esp + 0x10]
inc ebx
mov edx, ebx
push dword [edi + 0x18]
call fcn.0043d8e0
add esp, 4
test eax, eax
jne 0x43c3e5
mov edi, dword [edi + 0x10]
test edi, edi
jne 0x43c3c0
test eax, eax
sete cl
test esi, esi
jle 0x43c421
test eax, eax
jne 0x43c421
mov edi, dword [esp + 0x5c]
nop word cs:[eax + eax]
mov ecx, dword [esp + 0x10]
inc ebx
mov edx, ebx
push dword [edi + 0x18]
call fcn.0043d8e0
add esp, 4
test eax, eax
sete cl
cmp esi, 2
jl 0x43c421
dec esi
test eax, eax
je 0x43c400
test cl, cl
je 0x43c55d
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, edx
shr edx, 0x10
and eax, 0xff00
or edx, eax
cmp dword [ebp + 0xc], 0
mov word [ecx + 0x42], dx
mov dword [ecx + 0x44], ebx
je 0x43c561
mov edi, dword [ecx + 0x3c]
lea eax, [edi + 1]
mov dword [ecx + 0x3c], eax
mov eax, dword [ebp + 8]
mov dword [ecx + 0x48], eax
mov edx, dword [ecx + 0x20]
mov eax, dword [ecx + 0x38]
mov esi, dword [edx]
mov edx, dword [esp + 0x54]
mov byte [ecx + 0x40], 1
mov dword [ecx + 0x34], 0x2de218
add ecx, 0x5c
mov dword [esp + 0x14], ecx
lea ecx, [edx + 8]
cmp ecx, dword [esp + 0x14]
mov dword [esp + 0x14], eax
lea eax, [eax + 0x2de218]
mov ecx, 0x2de218
jae 0x43c4c3
add edi, dword [esp + 0x14]
lea eax, [eax + edi + 0x5bc431]
lea ecx, [ebx + edi + 0x5bc431]
add eax, dword [edx + 0xc]
add ecx, eax
add eax, dword [ebp + 8]
add eax, ecx
add ecx, dword [edx + 0x18]
add ecx, eax
add eax, dword [edx + 0x1c]
add eax, ecx
add ecx, dword [edx + 0x20]
add ecx, eax
add eax, dword [edx + 0x24]
add eax, ecx
mov edi, dword [esp + 0x10]
mov dword [edi + 0x5c], ecx
mov dword [edi + 0x60], eax
movsd xmm0, qword [edx + 0x28]
movsd qword [esi + 0x58], xmm0
movsd xmm0, qword [edx + 0x20]
movsd qword [esi + 0x50], xmm0
movsd xmm0, qword [edx + 0x18]
movsd qword [esi + 0x48], xmm0
movsd xmm0, qword [edx + 0x10]
movsd qword [esi + 0x40], xmm0
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
movsd qword [esi + 0x38], xmm1
movsd qword [esi + 0x30], xmm0
cmp byte [edi + 0x2b], 2
je 0x43c51e
mov eax, dword [edi + 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x3c]
mov edx, dword [esp + 0x58]
add esp, 4
movsd xmm0, qword [edx + 0x28]
movsd qword [esi + 0x28], xmm0
movsd xmm0, qword [edx + 0x20]
movsd qword [esi + 0x20], xmm0
movsd xmm0, qword [edx + 0x18]
movsd qword [esi + 0x18], xmm0
movsd xmm0, qword [edx + 0x10]
movsd qword [esi + 0x10], xmm0
movq xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
movsd qword [esi + 8], xmm1
movq qword [esi], xmm0
mov dword [edi + 0xc], ebx
jmp 0x43c561
test eax, eax
jne 0x43c5a8
mov edi, dword [esp + 0x6c]
mov ecx, dword [edi + 0x58]
test ecx, ecx
je 0x43c5a6
cmp dword [esp + 0x20], 0
je 0x43c5a6
nop word cs:[eax + eax]
nop dword [eax]
mov ebx, dword [esp + 0x20]
test ecx, ecx
je 0x43c596
mov edx, dword [ebx + 0x18]
push dword [ebx + 4]
call fcn.0043f240
add esp, 4
mov ebx, dword [ebx + 0x10]
test ebx, ebx
mov dword [esp + 0x20], ebx
je 0x43c5a6
mov ecx, dword [edi + 0x58]
jmp 0x43c580
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret