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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xd4
mov esi, dword [edx + 0x114]
mov eax, dword [edx + 0x118]
cmp dword [edx + 0xe4], 0x80000000
mov ebx, edx
mov dword [esp + 0xcc], ecx
mov dword [esp], edx
mov dword [esp + 0xc8], esi
mov dword [esp + 0xc4], eax
jne 0x43d1cd
mov dword [esp + 0x58], 0x80000000
cmp dword [ebx + 0xf0], 0x80000000
jne 0x43d223
mov dword [esp + 0x54], 0x80000000
jmp 0x43d277
mov edi, dword [ebx + 0xec]
mov esi, dword [ebx + 0xe8]
test edi, edi
je 0x43d1f9
js 0x43e1ca
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
jne 0x43d1fe
jmp 0x43d24d
mov eax, 1
mov dword [esp + 0x58], edi
push edi
push esi
mov dword [esp + 0x8c], eax
push eax
call fcn.007bd9b0
add esp, 0xc
mov ebx, dword [esp]
cmp dword [ebx + 0xf0], 0x80000000
je 0x43d1c0
mov edi, dword [ebx + 0xf8]
mov esi, dword [ebx + 0xf4]
test edi, edi
je 0x43d259
js 0x43e1ca
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
jne 0x43d25e
mov ecx, 1
mov edx, edi
call fcn.007c1490
mov eax, 1
mov dword [esp + 0x54], edi
push edi
push esi
mov dword [esp + 0x88], eax
push eax
call fcn.007bd9b0
add esp, 0xc
mov ebx, dword [esp]
movzx ecx, byte [ebx + 0x130]
mov byte [esp + 0x13], cl
mov ecx, dword [ebx + 0x28]
cmp ecx, 5
mov dword [esp + 0x5c], ecx
je 0x43d2b2
cmp dword [esp + 0x5c], 4
jb 0x43d2b2
mov eax, dword [esp]
mov ecx, dword [esp]
mov eax, dword [eax + 0x30]
push dword [ecx + 0x2c]
call dword [eax + 0x24]
add esp, 4
mov ebx, dword [esp]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], edx
mov ecx, dword [ebx + 0x44]
mov edx, 4
mov ebp, 4
test ecx, ecx
mov dword [esp + 0x74], ecx
je 0x43d39f
cmp ecx, 0xfffffff
ja 0x43e1ca
lea esi, [ecx*8]
test esi, esi
js 0x43e1ca
mov ebx, dword [ebx + 0x40]
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, esi
xor ebp, ebp
call fcn.0071ee80
test eax, eax
je 0x43e1cf
mov esi, dword [esp + 0x74]
mov edi, eax
mov ecx, esi
lea eax, [esi - 1]
and ecx, 0x1fffffff
mov edx, eax
cmp ecx, eax
cmovb edx, ecx
cmp edx, 0xa
jae 0x43d326
mov eax, esi
mov ecx, ebx
jmp 0x43d36f
cmp ecx, eax
cmovb eax, ecx
lea ecx, [ebx + eax*8 + 8]
cmp edi, ecx
jae 0x43d33f
lea eax, [edi + eax*8 + 8]
mov ecx, ebx
cmp ebx, eax
mov eax, esi
jb 0x43d36f
inc edx
mov ecx, 2
mov eax, edx
mov ebp, edx
and eax, 1
cmovne ecx, eax
mov eax, esi
xor edx, edx
sub ebp, ecx
sub eax, ebp
lea ecx, [ebx + ebp*8]
nop word [eax + eax]
movups xmm0, xmmword [ebx + edx*8]
movups xmmword [edi + edx*8], xmm0
add edx, 2
cmp ebp, edx
jne 0x43d360
lea edx, [ebx + esi*8]
lea esi, [edi + ebp*8 + 4]
mov ebp, edi
nop dword [eax + eax]
cmp ecx, edx
je 0x43d397
mov edi, dword [ecx]
mov ebx, dword [ecx + 4]
add ecx, 8
dec eax
mov dword [esi - 4], edi
mov dword [esi], ebx
lea esi, [esi + 8]
jne 0x43d380
mov ebx, dword [esp]
mov edx, 4
mov eax, dword [ebx + 0x50]
mov ecx, dword [ebx + 0x11c]
mov dword [esp + 0xc0], ebp
test eax, eax
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x30], eax
je 0x43d49e
mov ecx, dword [esp + 0x30]
cmp ecx, 0xfffffff
ja 0x43e1ca
lea esi, [ecx*8]
test esi, esi
js 0x43e1ca
mov ebx, dword [ebx + 0x4c]
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, esi
xor ebp, ebp
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x1c], eax
je 0x43e1cf
mov edi, dword [esp + 0x30]
mov ecx, edi
lea eax, [edi - 1]
and ecx, 0x1fffffff
mov edx, eax
cmp ecx, eax
cmovb edx, ecx
cmp edx, 0xa
jae 0x43d427
mov esi, dword [esp + 0x1c]
mov eax, edi
mov ecx, ebx
jmp 0x43d473
mov esi, dword [esp + 0x1c]
cmp ecx, eax
cmovb eax, ecx
lea ecx, [ebx + eax*8 + 8]
cmp esi, ecx
jae 0x43d444
lea eax, [esi + eax*8 + 8]
mov ecx, ebx
cmp ebx, eax
mov eax, edi
jb 0x43d473
inc edx
mov ecx, 2
mov eax, edx
mov ebp, edx
and eax, 1
cmovne ecx, eax
mov eax, edi
xor edx, edx
sub ebp, ecx
sub eax, ebp
lea ecx, [ebx + ebp*8]
nop
movups xmm0, xmmword [ebx + edx*8]
movups xmmword [esi + edx*8], xmm0
add edx, 2
cmp ebp, edx
jne 0x43d460
mov edi, dword [esp + 0x30]
lea edx, [ebx + edi*8]
lea esi, [esi + ebp*8 + 4]
nop word [eax + eax]
cmp ecx, edx
je 0x43d497
mov edi, dword [ecx]
mov ebx, dword [ecx + 4]
add ecx, 8
dec eax
mov dword [esi - 4], edi
mov dword [esi], ebx
lea esi, [esi + 8]
jne 0x43d480
mov ebx, dword [esp]
mov edx, dword [esp + 0x1c]
mov ecx, dword [ebx + 0x5c]
mov eax, 4
mov dword [esp + 0x1c], edx
mov dword [esp + 0x4c], 4
test ecx, ecx
mov dword [esp + 0x24], ecx
je 0x43d59a
mov ecx, dword [esp + 0x24]
cmp ecx, 0xfffffff
ja 0x43e1ca
lea edi, [ecx*8]
test edi, edi
js 0x43e1ca
mov ebx, dword [ebx + 0x58]
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
xor esi, esi
call fcn.0071ee80
test eax, eax
je 0x43e1db
mov ebp, dword [esp + 0x24]
mov ecx, ebp
lea edi, [ebp - 1]
and ecx, 0x1fffffff
mov edx, edi
cmp ecx, edi
cmovb edx, ecx
cmp edx, 0xa
jae 0x43d519
mov ecx, ebx
jmp 0x43d56f
cmp ecx, edi
cmovb edi, ecx
lea ecx, [ebx + edi*8 + 8]
cmp eax, ecx
jae 0x43d534
mov ebp, dword [esp + 0x24]
lea ecx, [eax + edi*8 + 8]
cmp ebx, ecx
mov ecx, ebx
jb 0x43d56f
inc edx
mov ebp, dword [esp + 0x24]
mov ecx, 2
mov edi, edx
mov esi, edx
and edi, 1
cmovne ecx, edi
xor edx, edx
sub esi, ecx
sub ebp, esi
lea ecx, [ebx + esi*8]
nop word cs:[eax + eax]
nop dword [eax + eax]
movups xmm0, xmmword [ebx + edx*8]
movups xmmword [eax + edx*8], xmm0
add edx, 2
cmp esi, edx
jne 0x43d560
mov edx, dword [esp + 0x24]
lea esi, [eax + esi*8 + 4]
lea edx, [ebx + edx*8]
nop word [eax + eax]
cmp ecx, edx
je 0x43d597
mov edi, dword [ecx]
mov ebx, dword [ecx + 4]
add ecx, 8
dec ebp
mov dword [esi - 4], edi
mov dword [esi], ebx
lea esi, [esi + 8]
jne 0x43d580
mov ebx, dword [esp]
mov esi, dword [ebx + 0x68]
mov dword [esp + 0xb8], eax
test esi, esi
mov dword [esp + 0x70], esi
je 0x43d632
cmp esi, 0x7ffffff
ja 0x43e1ca
shl esi, 4
js 0x43e1ca
mov edi, dword [ebx + 0x64]
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, esi
xor ebx, ebx
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x4c], eax
je 0x43e1cf
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xc], esi
nop
cmp esi, ebx
je 0x43d62f
mov eax, dword [edi]
mov ebp, dword [edi + 8]
mov esi, dword [edi + 0xc]
dec ecx
mov dword [esp + 4], eax
mov eax, dword [edi + 4]
lea edi, [edi + 0x10]
mov edx, dword [esp + 4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
mov dword [eax + ebx], edx
mov edx, dword [esp + 8]
mov dword [eax + ebx + 4], edx
mov dword [eax + ebx + 8], ebp
mov dword [eax + ebx + 0xc], esi
mov esi, dword [esp + 0xc]
lea ebx, [ebx + 0x10]
jne 0x43d5f0
mov ebx, dword [esp]
mov esi, dword [ebx + 0x74]
mov dword [esp + 0x44], 4
mov dword [esp + 0x48], 4
test esi, esi
mov dword [esp + 0x6c], esi
je 0x43d6d2
cmp esi, 0x7ffffff
ja 0x43e1ca
shl esi, 4
js 0x43e1ca
mov edi, dword [ebx + 0x70]
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, esi
xor ebx, ebx
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x48], eax
je 0x43e1cf
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xc], esi
nop
cmp esi, ebx
je 0x43d6cf
mov eax, dword [edi]
mov ebp, dword [edi + 8]
mov esi, dword [edi + 0xc]
dec ecx
mov dword [esp + 4], eax
mov eax, dword [edi + 4]
lea edi, [edi + 0x10]
mov edx, dword [esp + 4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [eax + ebx], edx
mov edx, dword [esp + 8]
mov dword [eax + ebx + 4], edx
mov dword [eax + ebx + 8], ebp
mov dword [eax + ebx + 0xc], esi
mov esi, dword [esp + 0xc]
lea ebx, [ebx + 0x10]
jne 0x43d690
mov ebx, dword [esp]
mov edx, dword [ebx + 0x80]
test edx, edx
mov dword [esp + 0xb4], edx
je 0x43d772
cmp edx, 0x7ffffff
ja 0x43e1ca
mov ebp, edx
shl ebp, 4
js 0x43e1ca
mov edi, dword [ebx + 0x7c]
movzx eax, byte [0x94bfc5]
mov esi, edx
xor ecx, ecx
mov edx, ebp
xor ebx, ebx
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x44], eax
je 0x43e1e7
mov ecx, esi
mov edx, esi
mov dword [esp + 0xc], ebp
nop dword [eax]
cmp ebp, ebx
je 0x43d76f
mov eax, dword [edi]
mov ebp, dword [edi + 8]
mov esi, dword [edi + 0xc]
dec ecx
mov dword [esp + 4], eax
mov eax, dword [edi + 4]
lea edi, [edi + 0x10]
mov edx, dword [esp + 4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [eax + ebx], edx
mov edx, dword [esp + 8]
mov dword [eax + ebx + 4], edx
mov dword [eax + ebx + 8], ebp
mov ebp, dword [esp + 0xc]
mov dword [eax + ebx + 0xc], esi
lea ebx, [ebx + 0x10]
jne 0x43d730
mov ebx, dword [esp]
mov eax, dword [ebx + 0x8c]
mov ecx, 4
mov edx, 4
test eax, eax
mov dword [esp + 0x68], eax
je 0x43d873
cmp eax, 0xfffffff
ja 0x43e1ca
lea esi, [eax*8]
test esi, esi
js 0x43e1ca
mov ebx, dword [ebx + 0x88]
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, esi
xor ebp, ebp
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x18], eax
je 0x43e1cf
mov esi, dword [esp + 0x68]
mov ecx, esi
lea eax, [esi - 1]
and ecx, 0x1fffffff
mov edx, eax
cmp ecx, eax
cmovb edx, ecx
cmp edx, 0xa
jae 0x43d7f1
mov edi, dword [esp + 0x18]
mov eax, esi
mov ecx, ebx
jmp 0x43d83f
mov edi, dword [esp + 0x18]
cmp ecx, eax
cmovb eax, ecx
lea ecx, [ebx + eax*8 + 8]
cmp edi, ecx
jae 0x43d80e
lea eax, [edi + eax*8 + 8]
mov ecx, ebx
cmp ebx, eax
mov eax, esi
jb 0x43d83f
inc edx
mov ecx, 2
mov eax, edx
mov ebp, edx
and eax, 1
cmovne ecx, eax
mov eax, esi
xor edx, edx
sub ebp, ecx
sub eax, ebp
lea ecx, [ebx + ebp*8]
nop dword [eax]
movups xmm0, xmmword [ebx + edx*8]
movups xmmword [edi + edx*8], xmm0
add edx, 2
cmp ebp, edx
jne 0x43d830
lea edx, [ebx + esi*8]
lea esi, [edi + ebp*8 + 4]
nop word cs:[eax + eax]
cmp ecx, edx
je 0x43d867
mov edi, dword [ecx]
mov ebx, dword [ecx + 4]
add ecx, 8
dec eax
mov dword [esi - 4], edi
mov dword [esi], ebx
lea esi, [esi + 8]
jne 0x43d850
mov ebx, dword [esp]
mov edx, dword [esp + 0x18]
mov ecx, 4
mov eax, dword [ebx + 0x98]
mov dword [esp + 0x18], edx
test eax, eax
mov dword [esp + 0x2c], eax
je 0x43d96e
mov eax, dword [esp + 0x2c]
cmp eax, 0xfffffff
ja 0x43e1ca
lea esi, [eax*8]
test esi, esi
js 0x43e1ca
mov ebx, dword [ebx + 0x94]
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, esi
xor ebp, ebp
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x14], eax
je 0x43e1cf
mov edi, dword [esp + 0x2c]
mov ecx, edi
lea eax, [edi - 1]
and ecx, 0x1fffffff
mov edx, eax
cmp ecx, eax
cmovb edx, ecx
cmp edx, 0xa
jae 0x43d8f0
mov esi, dword [esp + 0x14]
mov eax, edi
mov ecx, ebx
jmp 0x43d943
mov esi, dword [esp + 0x14]
cmp ecx, eax
cmovb eax, ecx
lea ecx, [ebx + eax*8 + 8]
cmp esi, ecx
jae 0x43d90d
lea eax, [esi + eax*8 + 8]
mov ecx, ebx
cmp ebx, eax
mov eax, edi
jb 0x43d943
inc edx
mov ecx, 2
mov eax, edx
mov ebp, edx
and eax, 1
cmovne ecx, eax
mov eax, edi
xor edx, edx
sub ebp, ecx
sub eax, ebp
lea ecx, [ebx + ebp*8]
nop dword [eax + eax]
movups xmm0, xmmword [ebx + edx*8]
movups xmmword [esi + edx*8], xmm0
add edx, 2
cmp ebp, edx
jne 0x43d930
mov edi, dword [esp + 0x2c]
lea edx, [ebx + edi*8]
lea esi, [esi + ebp*8 + 4]
nop word [eax + eax]
cmp ecx, edx
je 0x43d967
mov edi, dword [ecx]
mov ebx, dword [ecx + 4]
add ecx, 8
dec eax
mov dword [esi - 4], edi
mov dword [esi], ebx
lea esi, [esi + 8]
jne 0x43d950
mov ebx, dword [esp]
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0x34]
mov dword [esp + 0x40], 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0xb0], eax
mov eax, dword [ebx + 0x120]
mov dword [esp + 0xac], eax
mov eax, dword [ebx + 0x124]
mov dword [esp + 0xa8], eax
mov eax, dword [ebx + 0xa4]
test eax, eax
mov dword [esp + 0x64], eax
je 0x43da32
cmp eax, 0xaaaaaaa
ja 0x43e1ca
lea eax, [eax*4]
lea esi, [eax + eax*2]
test esi, esi
js 0x43e1ca
mov eax, dword [esp]
xor ecx, ecx
mov edx, esi
xor ebx, ebx
mov edi, dword [eax + 0xa0]
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x40], eax
je 0x43e1cf
mov eax, dword [esp + 0x64]
mov ebp, dword [esp + 0x40]
mov dword [esp + 8], esi
cmp esi, ebx
je 0x43da2f
movzx ecx, byte [edi + 8]
mov esi, dword [edi]
mov edx, dword [edi + 4]
add edi, 0xc
dec eax
mov byte [esp + 4], cl
mov dword [ebp + ebx], esi
mov esi, dword [esp + 8]
mov dword [ebp + ebx + 4], edx
movzx ecx, byte [esp + 4]
mov byte [ebp + ebx + 8], cl
lea ebx, [ebx + 0xc]
jne 0x43da00
mov ebx, dword [esp]
mov edi, dword [ebx + 0xac]
mov ebx, dword [ebx + 0xb0]
test ebx, ebx
je 0x43da76
cmp ebx, 0xfffffff
ja 0x43e1ca
lea esi, [ebx*8]
test esi, esi
js 0x43e1ca
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, esi
call fcn.0071ee80
test eax, eax
jne 0x43da7d
jmp 0x43e1cf
xor esi, esi
mov eax, 4
push esi
push edi
mov dword [esp + 0xac], eax
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp]
mov edi, 4
mov dword [esp + 0x60], 4
mov dword [esp + 0xa0], ebx
mov ecx, dword [eax]
mov dword [esp + 0x9c], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x98], ecx
mov ecx, dword [eax + 0xbc]
test ecx, ecx
mov dword [esp + 0x34], ecx
je 0x43dbac
cmp ecx, 0xfffffff
ja 0x43e1ca
lea edi, [ecx*8]
test edi, edi
js 0x43e1ca
mov ebx, dword [eax + 0xb8]
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
xor esi, esi
call fcn.0071ee80
test eax, eax
je 0x43e1db
mov edi, dword [esp + 0x34]
mov ebp, eax
mov dword [esp + 0x20], ebp
mov ecx, edi
lea eax, [edi - 1]
and ecx, 0x1fffffff
mov edx, eax
cmp ecx, eax
cmovb edx, ecx
cmp edx, 0xa
jae 0x43db2d
mov eax, edi
mov ecx, ebx
jmp 0x43db83
cmp ecx, eax
cmovb eax, ecx
lea ecx, [ebx + eax*8 + 8]
cmp dword [esp + 0x20], ecx
jae 0x43db4c
mov ecx, dword [esp + 0x20]
lea eax, [ecx + eax*8 + 8]
mov ecx, ebx
cmp ebx, eax
mov eax, edi
jb 0x43db83
inc edx
mov ecx, 2
mov eax, edx
mov esi, edx
and eax, 1
cmovne ecx, eax
mov eax, edi
mov edi, dword [esp + 0x20]
xor edx, edx
sub esi, ecx
sub eax, esi
lea ecx, [ebx + esi*8]
nop dword [eax + eax]
movups xmm0, xmmword [ebx + edx*8]
movups xmmword [edi + edx*8], xmm0
add edx, 2
cmp esi, edx
jne 0x43db70
mov edi, dword [esp + 0x34]
lea edx, [ebx + edi*8]
mov edi, dword [esp + 0x20]
lea esi, [edi + esi*8 + 4]
nop
cmp ecx, edx
je 0x43dba9
mov edi, dword [ecx]
mov ebx, dword [ecx + 4]
add ecx, 8
dec eax
mov dword [esi - 4], edi
mov dword [esi], ebx
mov edi, ebp
lea esi, [esi + 8]
jne 0x43db90
mov eax, dword [esp]
mov edx, dword [eax + 0x10]
mov esi, dword [eax + 0xc]
mov ecx, dword [eax + 8]
mov dword [esp + 0x20], edi
mov dword [esp + 0x8c], edx
mov edx, dword [eax + 0xc8]
mov dword [esp + 0x90], esi
mov esi, dword [eax + 0x38]
mov dword [esp + 0x94], ecx
test edx, edx
mov dword [esp + 0x88], esi
mov dword [esp + 0x28], edx
je 0x43dcba
mov ebp, dword [esp + 0x28]
cmp ebp, 0xfffffff
ja 0x43e1ca
lea edi, [ebp*8]
test edi, edi
js 0x43e1ca
mov ebx, dword [eax + 0xc4]
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
xor esi, esi
call fcn.0071ee80
test eax, eax
je 0x43e1db
mov ecx, ebp
lea edi, [ebp - 1]
and ecx, 0x1fffffff
mov edx, edi
cmp ecx, edi
cmovb edx, ecx
cmp edx, 0xa
jae 0x43dc44
mov ecx, ebx
jmp 0x43dc8f
cmp ecx, edi
cmovb edi, ecx
lea ecx, [ebx + edi*8 + 8]
cmp eax, ecx
jae 0x43dc5f
mov ebp, dword [esp + 0x28]
lea ecx, [eax + edi*8 + 8]
cmp ebx, ecx
mov ecx, ebx
jb 0x43dc8f
inc edx
mov ebp, dword [esp + 0x28]
mov ecx, 2
mov esi, edx
and esi, 1
cmovne ecx, esi
mov esi, edx
xor edx, edx
sub esi, ecx
sub ebp, esi
lea ecx, [ebx + esi*8]
nop dword [eax]
movups xmm0, xmmword [ebx + edx*8]
movups xmmword [eax + edx*8], xmm0
add edx, 2
cmp esi, edx
jne 0x43dc80
mov edx, dword [esp + 0x28]
lea esi, [eax + esi*8 + 4]
mov dword [esp + 0x60], eax
lea edx, [ebx + edx*8]
nop
cmp ecx, edx
je 0x43dcb7
mov edi, dword [ecx]
mov ebx, dword [ecx + 4]
add ecx, 8
dec ebp
mov dword [esi - 4], edi
mov dword [esi], ebx
lea esi, [esi + 8]
jne 0x43dca0
mov eax, dword [esp]
mov ecx, dword [eax + 0xd4]
mov edi, 4
mov dword [esp + 0x3c], 4
test ecx, ecx
mov dword [esp + 0x38], ecx
je 0x43dd98
mov eax, dword [esp + 0x38]
cmp eax, 0x5555555
ja 0x43e1ca
lea eax, [eax*8]
lea esi, [eax + eax*2]
test esi, esi
js 0x43e1ca
mov eax, dword [esp]
xor ecx, ecx
mov edx, esi
xor ebp, ebp
mov edi, dword [eax + 0xd0]
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x3c], eax
je 0x43e1cf
mov ecx, dword [esp + 0x38]
mov dword [esp + 0xd0], esi
nop dword [eax]
cmp esi, ebp
je 0x43dd90
mov eax, dword [edi]
mov esi, dword [edi + 8]
mov ebx, dword [edi + 0xc]
dec ecx
mov dword [esp + 4], eax
mov eax, dword [edi + 4]
mov edx, dword [esp + 4]
mov dword [esp + 8], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x14]
lea edi, [edi + 0x18]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x3c]
mov dword [eax + ebp], edx
mov edx, dword [esp + 8]
mov dword [eax + ebp + 4], edx
mov dword [eax + ebp + 8], esi
mov dword [eax + ebp + 0xc], ebx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0xd0]
mov dword [eax + ebp + 0x10], edx
mov dword [eax + ebp + 0x14], ebx
lea ebp, [ebp + 0x18]
jne 0x43dd30
mov eax, dword [esp]
mov edi, 4
mov ebx, dword [eax + 0xe0]
test ebx, ebx
mov dword [esp + 4], ebx
je 0x43de8c
cmp ebx, 0xfffffff
ja 0x43e1ca
lea edx, [ebx*8]
test edx, edx
js 0x43e1ca
mov esi, dword [eax + 0xdc]
movzx eax, byte [0x94bfc5]
xor ecx, ecx
xor edi, edi
mov dword [esp + 8], edx
call fcn.0071ee80
test eax, eax
je 0x43e1f3
mov ecx, ebx
mov ebp, eax
lea eax, [ebx - 1]
and ecx, 0x1fffffff
mov edx, eax
cmp ecx, eax
cmovb edx, ecx
cmp edx, 0xa
jae 0x43de08
mov eax, ebx
mov ecx, esi
mov ebx, ebp
jmp 0x43de5f
cmp ecx, eax
mov ebx, ebp
cmovb eax, ecx
lea ecx, [esi + eax*8 + 8]
cmp ebp, ecx
jae 0x43de25
lea eax, [ebx + eax*8 + 8]
mov ecx, esi
cmp esi, eax
mov eax, dword [esp + 4]
jb 0x43de5f
inc edx
mov ecx, 2
mov eax, edx
mov edi, edx
and eax, 1
cmovne ecx, eax
mov eax, dword [esp + 4]
xor edx, edx
sub edi, ecx
lea ecx, [esi + edi*8]
sub eax, edi
nop word cs:[eax + eax]
nop dword [eax]
movups xmm0, xmmword [esi + edx*8]
movups xmmword [ebx + edx*8], xmm0
add edx, 2
cmp edi, edx
jne 0x43de50
mov edx, dword [esp + 4]
lea edx, [esi + edx*8]
lea esi, [ebx + edi*8 + 4]
mov edi, ebx
nop dword [eax]
cmp ecx, edx
je 0x43de89
mov edi, dword [ecx]
mov ebx, dword [ecx + 4]
add ecx, 8
dec eax
mov dword [esi - 4], edi
mov dword [esi], ebx
mov edi, ebp
lea esi, [esi + 8]
jne 0x43de70
mov eax, dword [esp]
mov ecx, eax
mov eax, dword [eax + 0x104]
cmp eax, 0x80000001
jne 0x43dea4
mov ebx, edi
mov esi, 0x80000001
jmp 0x43df1e
mov edx, dword [ecx + 0xfc]
mov esi, dword [ecx + 0x100]
cmp eax, 0x80000000
mov ebx, edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
jne 0x43dec8
mov esi, 0x80000000
jmp 0x43df1e
mov ebp, dword [ecx + 0x10c]
mov edi, dword [ecx + 0x108]
test ebp, ebp
je 0x43defe
js 0x43e1ca
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, ebp
call fcn.0071ee80
test eax, eax
jne 0x43df03
mov ecx, 1
mov edx, ebp
call fcn.007c1490
mov eax, 1
mov esi, ebp
push ebp
push edi
mov dword [esp + 0x58], eax
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp]
movzx eax, byte [eax + 0x110]
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc8]
mov edi, dword [esp + 0xc0]
mov ebp, dword [esp + 0xb4]
mov dword [edx + 0x114], ecx
mov ecx, dword [esp + 0xc4]
mov dword [edx + 0x118], ecx
mov ecx, dword [esp + 0x58]
mov dword [edx + 0xe4], ecx
mov dword [edx + 0xec], ecx
mov ecx, dword [esp + 0x84]
mov dword [edx + 0xe8], ecx
mov ecx, dword [esp + 0x54]
mov dword [edx + 0xf0], ecx
mov dword [edx + 0xf8], ecx
mov ecx, dword [esp + 0x80]
mov dword [edx + 0xf4], ecx
movzx ecx, byte [esp + 0x13]
mov byte [edx + 0x130], cl
mov ecx, dword [esp + 0x5c]
mov dword [edx + 0x28], ecx
mov ecx, dword [esp + 0x78]
mov dword [edx + 0x30], ecx
mov ecx, dword [esp + 0x7c]
mov dword [edx + 0x2c], ecx
mov ecx, dword [esp + 0x74]
mov dword [edx + 0x3c], ecx
mov dword [edx + 0x40], edi
mov dword [edx + 0x44], ecx
mov ecx, dword [esp + 0xbc]
mov edi, dword [esp + 0x30]
mov dword [edx + 0x11c], ecx
mov ecx, dword [esp + 0x1c]
mov dword [edx + 0x48], edi
mov dword [edx + 0x4c], ecx
mov dword [edx + 0x50], edi
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0xb8]
mov dword [edx + 0x54], ecx
mov dword [edx + 0x58], edi
mov dword [edx + 0x5c], ecx
mov edi, dword [esp + 0x70]
mov ecx, dword [esp + 0x4c]
mov dword [edx + 0x60], edi
mov dword [edx + 0x64], ecx
mov dword [edx + 0x68], edi
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0x48]
mov dword [edx + 0x6c], ecx
mov dword [edx + 0x70], edi
mov dword [edx + 0x74], ecx
mov ecx, dword [esp + 0x44]
mov dword [edx + 0x78], ebp
mov edi, dword [esp + 0x18]
mov dword [edx + 0x7c], ecx
mov ecx, dword [esp + 0x68]
mov dword [edx + 0x80], ebp
mov dword [edx + 0x84], ecx
mov dword [edx + 0x88], edi
mov dword [edx + 0x8c], ecx
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov dword [edx + 0x90], edi
mov dword [edx + 0x94], ecx
mov ecx, dword [esp + 0xb0]
mov dword [edx + 0x98], edi
mov edi, dword [esp + 0x40]
mov dword [edx + 0x34], ecx
mov ecx, dword [esp + 0xac]
mov dword [edx + 0x120], ecx
mov ecx, dword [esp + 0xa8]
mov dword [edx + 0x124], ecx
mov ecx, dword [esp + 0x64]
mov dword [edx + 0x9c], ecx
mov dword [edx + 0xa0], edi
mov dword [edx + 0xa4], ecx
mov edi, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
mov dword [edx + 0xa8], edi
mov dword [edx + 0xac], ecx
mov ecx, dword [esp + 0x9c]
mov dword [edx + 0xb0], edi
mov edi, dword [esp + 0x20]
mov dword [edx], ecx
mov ecx, dword [esp + 0x98]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x34]
mov dword [edx + 0xb4], ecx
mov dword [edx + 0xb8], edi
mov dword [edx + 0xbc], ecx
mov ecx, dword [esp + 0x94]
mov edi, dword [esp + 0x28]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x90]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x8c]
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x88]
mov dword [edx + 0x38], ecx
mov ecx, dword [esp + 0x60]
mov dword [edx + 0xc0], edi
mov dword [edx + 0xc4], ecx
mov dword [edx + 0xc8], edi
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
mov dword [edx + 0xcc], ecx
mov dword [edx + 0xd0], edi
mov dword [edx + 0xd4], ecx
mov ecx, dword [esp + 4]
mov dword [edx + 0xd8], ecx
mov dword [edx + 0xdc], ebx
mov dword [edx + 0xe0], ecx
mov ecx, dword [esp + 8]
mov dword [edx + 0xfc], ecx
mov ecx, dword [esp + 0xc]
mov dword [edx + 0x100], ecx
mov ecx, dword [esp + 0x50]
mov dword [edx + 0x104], esi
mov dword [edx + 0x108], ecx
mov ecx, dword [esp]
mov dword [edx + 0x10c], esi
mov byte [edx + 0x110], al
mov eax, dword [ecx + 0x128]
mov edi, dword [ecx + 0x12c]
mov esi, dword [ecx + 0x14]
mov dword [edx + 0x128], eax
mov dword [edx + 0x12c], edi
mov dword [edx + 0x14], esi
mov edi, dword [ecx + 0x18]
mov esi, dword [ecx + 0x1c]
mov dword [edx + 0x18], edi
mov dword [edx + 0x1c], esi
mov edi, dword [ecx + 0x20]
mov esi, dword [ecx + 0x24]
movzx ecx, byte [ecx + 0x131]
mov dword [edx + 0x20], edi
mov dword [edx + 0x24], esi
mov byte [edx + 0x131], cl
add esp, 0xd4
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.00418cb0
mov ecx, 4
mov edx, esi
call fcn.007c1490
mov ecx, 4
mov edx, edi
call fcn.007c1490
mov ecx, 4
mov edx, ebp
call fcn.007c1490
mov edx, dword [esp + 8]
mov ecx, 4
call fcn.007c1490
int3