Function at 0x43c54c
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x160
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x40], edx
mov esi, dword [ebp + 8]
mov dword [eax], esp
or dword [eax + 0xc], 0xffffffff
mov dword [eax + 8], 0x584060
mov edx, dword fs:[0]
mov dword [eax + 4], edx
push 4
pop edi
add eax, edi
lea ebx, [ebp - 0x11c]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0xbc], edi
mov dword fs:[0], eax
mov eax, dword [esi + 0x24]
mov edx, dword [esi + 0x28]
mov ecx, dword [ecx + 0xc]
lea edx, [eax + edx*8]
mov dword [ebx], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x30], ecx
mov dword [ebx + 4], edx
mov edx, dword [esi + 0x30]
shl eax, 6
add eax, edx
mov dword [ebx + 8], edx
lea edx, [ebp - 0xac]
and dword [edx - 0xc], 0
mov dword [edx - 8], edi
and dword [edx - 4], 0
and dword [edx], 0
mov dword [edx + 4], edi
and dword [edx + 8], 0
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], ecx
and dword [ebp - 0x10], 0
lea ecx, [ebp - 0x11c]
call fcn.0041b3d0
test eax, eax
je 0x43c6ba
mov ecx, edx
mov edx, 0x5a88d0
mov dword [ebp - 0x20], eax
call fcn.0041b403
mov esi, dword [ebp - 0x20]
test al, al
je 0x43c5d5
mov edx, dword [ebp - 0x10c]
lea ecx, [ebp - 0xd0]
push dword [esi + 4]
push dword [esi]
call fcn.0042c916
mov ecx, dword [ebp - 0x20]
add esp, 8
mov eax, dword [ebp - 0xd0]
cmp eax, 0x80000000
je 0x43c6ba
mov dword [ebp - 0x24], eax
mov esi, dword [ebp - 0xc8]
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0xcc]
mov byte [ebp - 0x71], 1
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x128], ecx
lea ecx, [ebp - 0xb8]
push eax
call fcn.004202c7
pop eax
mov edx, dword [ebp - 0xa4]
cmp edx, dword [ebp - 0xac]
jne 0x43c68d
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x10], 2
call fcn.00406666
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xa8]
mov esi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x2c]
imul ecx, edx, 0xc
inc edx
mov dword [eax + ecx], esi
mov dword [eax + ecx + 4], ebx
mov dword [eax + ecx + 8], edi
and dword [ebp - 0x10], 0
mov dword [ebp - 0xa4], edx
jmp 0x43c5d5
mov eax, dword [ebp + 8]
movsd xmm1, qword [ebp - 0xb0]
mov ecx, dword [ebp - 0x40]
movsd xmm0, qword [ebp - 0xb8]
movsd qword [ebp - 0x158], xmm1
movsd xmm1, qword [ebp - 0xa8]
mov eax, dword [eax + 0x38]
cmp dword [ecx], 1
movsd qword [ebp - 0x160], xmm0
movsd qword [ebp - 0x150], xmm1
mov dword [ebp - 0x2c], eax
jne 0x43c7ed
mov edx, dword [ebp - 0x30]
mov eax, dword [ecx + 4]
mov esi, dword [ecx + 8]
mov ecx, dword [edx + 0x48]
mov edx, dword [edx + 0x4c]
mov dword [ebp - 0x10], 3
push 0x5a898c
push esi
push eax
call fcn.00438da1
add esp, 0xc
mov esi, eax
mov eax, dword [ebp + 8]
mov edx, dword [esi + 0xfc]
lea ecx, [eax + 0x20]
push dword [esi + 0x100]
mov dword [ebp - 0x40], esi
call fcn.00427441
mov edx, dword [ebp - 0x40]
add esp, 4
test eax, eax
je 0x43c77e
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x43c769
mov eax, dword [eax + 0x28]
xor esi, esi
add eax, 8
add esi, dword [eax]
add eax, 0xc
dec ecx
jne 0x43c759
test esi, esi
jne 0x43c7f2
mov ecx, edx
mov dword [ebp - 0x10], 3
call fcn.004272e9
mov edx, dword [ebp - 0x40]
test eax, eax
je 0x43c7f2
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0xd0]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x60], eax
call fcn.0043ed3b
mov eax, dword [ebp - 0xcc]
imul ecx, dword [ebp - 0xc8], 0x24
lea edx, [ebp - 0x70]
mov dword [ebp - 0x10], 0x27
add ecx, eax
mov dword [edx], eax
mov dword [edx + 4], ecx
lea ecx, [ebp - 0xb8]
call fcn.0042b8f6
mov eax, dword [ebp - 0xb8]
cmp eax, 0x80000000
jne 0x43d449
and dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 4
and dword [ebp - 0x44], 0
push 4
pop eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], 0
jmp 0x43d570
mov esi, dword [ebp - 0x30]
jmp 0x43c7fb
mov eax, dword [ebp - 0x38]
mov esi, dword [eax + 0xc]
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x43cd56
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x30], esi
lea edi, [ebp - 0xb8]
mov dword [ebp - 0x10], 3
mov dword [ebp - 0x24], 0
mov edx, dword [ecx + 0x24]
mov eax, dword [ecx + 0x28]
mov esi, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x34]
shl ecx, 6
lea eax, [edx + eax*8]
mov dword [edi], edx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0xd8], esi
add ecx, esi
mov dword [edi + 4], eax
mov dword [edi + 8], esi
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0xd4], ecx
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0xb8]
call fcn.0041b3d0
test eax, eax
je 0x43c896
mov ecx, edx
mov edx, 0x5a88d0
mov dword [ebp - 0x20], eax
call fcn.0041b403
mov esi, dword [ebp - 0x20]
xor ecx, ecx
test al, al
je 0x43c891
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x48]
mov edx, dword [eax + 0x4c]
push dword [esi + 4]
push dword [esi]
call fcn.0041af22
pop ecx
pop edx
xor ecx, ecx
test eax, eax
setne cl
add dword [ebp - 0x24], ecx
jmp 0x43c84e
mov eax, dword [ebp - 0x24]
cmp eax, 2
mov dword [ebp - 0x80], eax
jae 0x43cc41
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x5c]
lea edx, [ebp - 0xd0]
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 0xd8]
mov dword [edx], ecx
mov dword [edx + 4], esi
mov esi, dword [ebp - 0xd4]
mov dword [edx + 8], edi
mov dword [edx + 0xc], esi
mov dword [edx + 0x10], eax
lea ecx, [ebp - 0xd0]
call fcn.0041b3d0
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x43c952
mov ecx, edx
mov edx, 0x5a88d0
call fcn.0041b403
test al, al
je 0x43c8ce
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 0x48]
mov edx, dword [eax + 0x4c]
mov eax, dword [ebp - 0x20]
mov esi, dword [eax]
mov edi, dword [eax + 4]
push edi
push esi
call fcn.0041af22
pop ecx
pop edx
test eax, eax
je 0x43c8ce
lea ecx, [ebp - 0x13c]
lea edx, [ebp - 0x160]
push edi
push esi
push dword [ebp - 0x30]
call fcn.0043f44d
add esp, 0xc
mov ecx, dword [ebp - 0x134]
mov esi, dword [ebp - 0x138]
test ecx, ecx
jne 0x43d85f
mov ecx, dword [ebp - 0x13c]
mov edx, esi
call fcn.0042aff9
jmp 0x43c8ce
cmp dword [ebp - 0x2c], 0
je 0x43c978
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0x144]
or eax, dword [ecx + 0x148]
shr eax, 0xc
and eax, 1
test al, al
jne 0x43d9aa
mov ecx, dword [ebp + 8]
lea edi, [ebp - 0x11c]
mov edx, dword [ecx + 0x24]
mov eax, dword [ecx + 0x28]
mov esi, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x34]
shl ecx, 6
lea eax, [edx + eax*8]
mov dword [edi], edx
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xbc], esi
add ecx, esi
mov dword [edi + 4], eax
mov dword [edi + 8], esi
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xe8], ecx
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x11c]
call fcn.0041b3d0
mov dword [ebp - 0x30], edx
test eax, eax
je 0x43cdcd
mov ecx, dword [ebp - 0x30]
mov edx, 0x5a88d0
mov dword [ebp - 0x20], eax
call fcn.0041b403
mov edi, dword [ebp - 0x20]
test al, al
je 0x43c9b8
mov eax, dword [ebp - 0x38]
mov esi, dword [edi]
mov edi, dword [edi + 4]
mov ebx, dword [eax + 0xc]
mov ecx, dword [ebx + 0x48]
mov edx, dword [ebx + 0x4c]
push edi
push esi
call fcn.0041af22
pop ecx
pop edx
test eax, eax
je 0x43cbfc
and dword [ebp - 0x4c], 0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], ebx
push 4
pop ecx
mov dword [ebp - 0x48], ecx
and dword [ebp - 0x44], 0
and dword [ebp - 0x130], 0
mov edx, ecx
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x10], 0x11
call fcn.0042029e
mov ecx, dword [ebp - 0x20]
add ecx, 0xfc
mov dword [eax], ecx
and dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 4
and dword [ebp - 0xb0], 0
xor ecx, ecx
mov dword [ebp - 0xd0], 1
mov dword [ebp - 0xcc], eax
inc ecx
test ecx, ecx
je 0x43cb63
lea esi, [ecx - 1]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0xc8], esi
mov eax, dword [ebp - 0xcc]
mov edi, dword [eax + ecx*4 - 4]
mov ecx, edi
push dword [ebp - 0x44]
call fcn.00425801
pop ecx
test al, al
mov ecx, esi
jne 0x43ca6c
lea ecx, [ebp - 0x4c]
mov edx, edi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x10], 0x12
mov dword [ebp - 0x24], edi
call fcn.0042583b
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x48]
mov edx, dword [eax + 0x4c]
mov eax, dword [ebp - 0x24]
push dword [eax + 4]
push dword [eax]
call fcn.0041af22
pop ecx
pop edx
mov ecx, dword [ebp - 0x20]
test eax, eax
je 0x43ca6c
mov esi, dword [eax + 0x64]
mov eax, dword [eax + 0x68]
shl eax, 4
add eax, esi
mov dword [ebp - 0x24], eax
cmp esi, dword [ebp - 0x24]
je 0x43cb58
mov ecx, dword [ebp - 0x30]
mov edx, esi
mov dword [ebp - 0x20], esi
call fcn.0041b403
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x2c]
xor edi, edi
lea esi, [ecx + 0x10]
test al, al
je 0x43cb03
mov edi, dword [ecx + 8]
je 0x43cadf
mov ebx, dword [ecx + 0xc]
mov ecx, dword [edx + 0x48]
mov edx, dword [edx + 0x4c]
push ebx
push edi
call fcn.0041af22
pop ecx
pop edx
test eax, eax
mov dword [ebp - 0x40], esi
je 0x43cb42
cmp dword [eax + 0x68], 0
je 0x43cb42
add eax, 0xfc
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x60], ebx
mov edx, eax
call fcn.0042583b
mov ebx, dword [ebp - 0x60]
mov edi, dword [ebp - 0x20]
lea ecx, [ebp - 0xb8]
mov edx, edi
push ebx
call fcn.004202c7
mov esi, dword [ebp - 0x40]
add esp, 4
jmp 0x43cadf
mov ecx, dword [ebp - 0xc8]
jmp 0x43ca6c
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
mov edi, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xb4]
mov ebx, dword [ebp - 0xb0]
call fcn.004257e7
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
call fcn.004257e7
lea eax, [esi + ebx*8]
shl ebx, 3
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0xb4], edi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xac], eax
test ebx, ebx
je 0x43cbdc
lea eax, [esi + 8]
mov edx, dword [esi]
mov ecx, dword [ebp - 0x38]
add ebx, 0xfffffff8
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x10], 0x10
push eax
call fcn.004275b1
mov ebx, dword [ebp - 0x24]
add esp, 4
mov esi, dword [ebp - 0x20]
jmp 0x43cbac
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xb0], eax
call fcn.0042d905
mov dword [ebp - 0x10], 3
jmp 0x43c9b8
mov ecx, dword [ebx + 0x6c]
mov edx, dword [ebx + 0x70]
push edi
push esi
call fcn.0042588e
pop ecx
pop edx
test eax, eax
je 0x43c9b8
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
lea eax, [esi + eax*8]
mov dword [ebp - 0x24], eax
cmp esi, dword [ebp - 0x24]
je 0x43c9b8
mov edx, dword [esi]
mov ecx, dword [ebp - 0x38]
lea eax, [esi + 8]
mov dword [ebp - 0x20], eax
push dword [esi + 4]
call fcn.004275b1
pop ecx
mov esi, dword [ebp - 0x20]
jmp 0x43cc1f
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0xd8]
lea ecx, [ebp - 0xb8]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0xd4]
mov dword [ecx + 8], esi
mov esi, dword [ebp - 0x30]
mov dword [ecx + 0xc], edx
lea edx, [ebp - 0x80]
mov dword [ecx + 0x10], esi
mov dword [ecx + 0x14], edx
lea ecx, [ebp - 0xb8]
call fcn.0041b3d0
test eax, eax
je 0x43c8a5
mov ecx, edx
mov edx, 0x5a88d0
mov dword [ebp - 0x20], eax
call fcn.0041b403
mov esi, dword [ebp - 0x20]
test al, al
je 0x43cc70
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x48]
mov edx, dword [eax + 0x4c]
push dword [esi + 4]
push dword [esi]
call fcn.0041af22
pop ecx
pop edx
test eax, eax
je 0x43cc70
test byte [eax + 0x105], 0x40
je 0x43cc70
mov ecx, dword [ebp - 0xa4]
cmp dword [ecx], 2
jb 0x43cc70
lea ecx, [ebp - 0x70]
mov edx, eax
call fcn.00420ff2
mov ecx, dword [ebp - 0x30]
and dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 4
and dword [ebp - 0x44], 0
mov byte [ebp - 0x61], 0
mov dword [ebp - 0x10], 0x26
call fcn.004212cc
mov ecx, dword [ebp - 0x30]
lea edx, [ebp - 0x11c]
mov byte [ebp - 0x61], 0
mov dword [edx], ecx
mov ecx, dword [ebp - 0x38]
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
lea ecx, [ebp - 0xd0]
push 0
push str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_std_srcioimpls.rs
call fcn.00421365
pop eax
pop ecx
mov ecx, dword [ebp - 0x30]
lea esi, [ebp - 0xd0]
mov byte [ebp - 0x61], 1
lea eax, [ebp - 0x4c]
lea edx, [ebp - 0x70]
push esi
push eax
call fcn.0043f1ad
pop ecx
pop edx
mov dword [ebp - 0x20], eax
xor ecx, ecx
mov dword [ebp - 0x10], 3
call fcn.0043ae46
mov esi, dword [ebp - 0x20]
jmp 0x43e240
mov eax, dword [esi + 0x144]
mov ecx, dword [esi + 0x148]
mov edx, eax
or edx, ecx
bt edx, 0x10
jae 0x43d5e4
mov edx, dword [ebp + 8]
lea esi, [ebp - 0xb8]
mov dword [ebp - 0x10], 3
mov dword [ebp - 0x20], 0
mov eax, dword [edx + 0x24]
mov ecx, dword [edx + 0x28]
lea ecx, [eax + ecx*8]
mov dword [esi], eax
mov eax, dword [edx + 0x30]
mov edx, dword [edx + 0x34]
mov dword [esi + 4], ecx
shl edx, 6
mov dword [esi + 8], eax
add edx, eax
mov dword [esi + 0xc], edx
lea ecx, [ebp - 0xb8]
call fcn.0041b3d0
test eax, eax
je 0x43d5c8
mov ecx, edx
mov edx, 0x5a88d0
call fcn.0041b403
movzx eax, al
add dword [ebp - 0x20], eax
jmp 0x43cda6
mov eax, dword [ebp - 0xd8]
lea ecx, [ebp - 0xb8]
and dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 4
and dword [ebp - 0xdc], 0
mov dword [ecx], eax
mov eax, dword [ebp - 0xd4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xbc]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xe8]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0xb8]
mov byte [ebp - 0x25], 1
mov dword [ebp - 0x10], 4
call fcn.0041b3d0
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x43ce6f
mov ecx, edx
mov edx, 0x5a88d0
mov byte [ebp - 0x25], 1
call fcn.0041b403
test al, al
je 0x43ce17
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x48]
mov edx, dword [eax + 0x4c]
mov eax, dword [ebp - 0x24]
push dword [eax + 4]
push dword [eax]
call fcn.0041af22
pop ecx
pop edx
test eax, eax
je 0x43ce17
test byte [eax + 0x105], 0x40
je 0x43ce17
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x5c], 0
mov ecx, dword [eax + 4]
imul eax, dword [eax + 8], 0x14
add eax, ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [ebp - 0x2c]
je 0x43d0d4
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp + 8]
mov byte [ebp - 0x25], 1
mov dword [ebp - 0x10], 4
push 0x5a88d0
push eax
call fcn.00425bc9
pop ecx
pop edx
mov edi, dword [ebp - 0x20]
test al, al
lea ecx, [edi + 0x14]
jne 0x43ce8b
mov eax, dword [ebp - 0x38]
mov esi, dword [edi + 0xc]
mov edi, dword [edi + 0x10]
mov dword [ebp - 0x40], ecx
mov ebx, dword [eax + 0xc]
mov ecx, dword [ebx + 0x48]
mov edx, dword [ebx + 0x4c]
push edi
push esi
call fcn.0041af22
pop ecx
pop edx
test eax, eax
je 0x43cfc3
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x30], eax
jne 0x43ce88
mov ecx, dword [ebp - 0x30]
lea edx, [ebp - 0x160]
mov esi, dword [ecx + 0x100]
mov eax, dword [ecx + 0xfc]
mov byte [ebp - 0x25], 1
lea ecx, [ebp - 0xb8]
push esi
push eax
push ebx
mov dword [ebp - 0x20], ebx
call fcn.0043f44d
mov edi, dword [ebp - 0x20]
add esp, 0xc
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xb0]
call fcn.0042aff9
test esi, esi
jne 0x43ce88
mov ecx, dword [ebp - 0x30]
mov edx, dword [edi + 0x6c]
imul esi, dword [edi + 0x70], 0x30
mov eax, dword [ecx + 0xfc]
mov ecx, dword [ecx + 0x100]
add esi, edx
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], ecx
lea ecx, [ebp - 0xb8]
call fcn.00427b81
test eax, eax
je 0x43d087
mov esi, edx
mov byte [ebp - 0x25], 1
lea ecx, [ebp - 0x11c]
lea edx, [ebp - 0x160]
push esi
push eax
push edi
call fcn.0043f44d
mov edi, dword [ebp - 0x20]
add esp, 0xc
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x118]
mov esi, dword [ebp - 0x114]
call fcn.0042aff9
test esi, esi
je 0x43cf70
jmp 0x43ce88
mov ecx, dword [ebx + 0x6c]
mov edx, dword [ebx + 0x70]
push edi
push esi
call fcn.0042588e
pop ecx
pop edx
test eax, eax
je 0x43ce88
mov dword [ebp - 0x60], eax
mov byte [ebp - 0x25], 1
lea ecx, [ebp - 0xb8]
mov edx, ebx
mov eax, dword [ebp - 0x60]
add eax, 0x24
push eax
call fcn.00426050
pop eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb0]
shl ecx, 3
mov esi, eax
mov dword [ebp - 0x50], eax
test ecx, ecx
je 0x43d053
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
mov edx, dword [esi]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x10], 5
push 0x5a88d0
push eax
mov dword [ebp - 0x30], esi
call fcn.00425bc9
pop ecx
pop edx
mov esi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x20]
add esi, 8
add ecx, 0xfffffff8
test al, al
je 0x43d00a
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0x50]
call fcn.0042aff9
jmp 0x43ce88
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0x50]
call fcn.0042aff9
mov eax, dword [ebp - 0x60]
lea ecx, [ebp - 0xe4]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x28]
mov byte [ebp - 0x25], 1
mov dword [ebp - 0x10], 4
push eax
call fcn.004202c7
pop eax
jmp 0x43ce88
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0xe4]
mov edx, dword [eax + 0xfc]
mov eax, dword [eax + 0x100]
mov byte [ebp - 0x25], 1
push eax
call fcn.004202c7
pop eax
mov eax, dword [ebp - 0x30]
test byte [eax + 0x105], 1
jne 0x43ce88
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx + 0x14]
test eax, eax
je 0x43d0c4
mov eax, dword [ecx + 0x18]
mov ecx, dword [ebp - 0x5c]
cmp ecx, eax
cmovbe ecx, eax
mov dword [ebp - 0x5c], ecx
jmp 0x43ce88
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x48]
imul eax, dword [eax + 0x4c], 0x11c
add eax, edx
mov dword [ebp - 0x30], eax
xor eax, eax
inc eax
mov dword [ebp - 0x60], eax
cmp edx, dword [ebp - 0x30]
je 0x43d303
mov eax, edx
mov edx, dword [edx + 0xfc]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [eax + 0x100]
mov byte [ebp - 0x25], 1
mov dword [ebp - 0x10], 4
push 0x5a88d0
push eax
call fcn.00425bc9
pop ecx
pop edx
mov ecx, dword [ebp - 0x20]
test al, al
lea edx, [ecx + 0x11c]
jne 0x43d0ef
mov eax, dword [ecx + 0x74]
mov esi, dword [ecx + 0x70]
xor ecx, ecx
mov dword [ebp - 0x50], edx
shl eax, 4
add eax, esi
mov dword [ebp - 0x40], eax
xor eax, eax
inc eax
cmp esi, dword [ebp - 0x40]
movzx edx, cl
mov dword [ebp - 0x24], edx
je 0x43d197
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 4]
mov edx, dword [esi]
lea esi, [ebp - 0xb8]
mov byte [ebp - 0x25], 1
push esi
push eax
call fcn.00425bc9
pop ecx
pop edx
mov esi, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x24]
add esi, 0x10
test al, al
mov eax, 1
cmovne ecx, eax
jmp 0x43d147
mov dword [ebp - 0x84], ecx
mov ecx, dword [ebp - 0x20]
mov esi, dword [ecx + 0x7c]
mov ecx, dword [ecx + 0x80]
shl ecx, 4
add ecx, esi
mov dword [ebp - 0x40], ecx
cmp esi, dword [ebp - 0x40]
je 0x43d1fa
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 4]
mov edx, dword [esi]
lea esi, [ebp - 0xb8]
mov byte [ebp - 0x25], 1
push esi
push eax
call fcn.00425bc9
pop ecx
pop edx
mov esi, dword [ebp - 0x2c]
add esi, 0x10
test al, al
mov eax, 1
jne 0x43d1b1
mov edx, dword [ebp - 0x20]
jmp 0x43d212
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
cmp dword [edx + 0x80], 0
cmovne ecx, eax
mov eax, ecx
mov dword [ebp - 0x84], eax
mov ecx, dword [edx + 0x8c]
mov eax, dword [edx + 0x98]
mov edx, dword [ebp - 0x50]
test ecx, ecx
je 0x43d22b
test eax, eax
jne 0x43d22f
jmp 0x43d26f
test eax, eax
je 0x43d2a6
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx + 0x94]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x2c], eax
cmp ecx, dword [ebp - 0x2c]
je 0x43d2a6
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp + 8]
mov byte [ebp - 0x25], 1
push eax
call fcn.0043f7a7
pop ecx
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x50]
add ecx, 8
test al, al
jne 0x43d23e
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x8c]
mov eax, dword [ebp - 0x20]
mov esi, dword [eax + 0x88]
lea eax, [esi + ecx*8]
mov dword [ebp - 0x2c], eax
cmp esi, dword [ebp - 0x2c]
je 0x43d2b3
mov eax, dword [esi + 4]
mov edx, dword [esi]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x24], esi
mov byte [ebp - 0x25], 1
push eax
call fcn.0043f7a7
pop ecx
mov esi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x50]
add esi, 8
test al, al
je 0x43d27e
test byte [ebp - 0x84], 1
je 0x43d0ef
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0xe4]
mov edx, dword [eax + 0xfc]
mov eax, dword [eax + 0x100]
mov byte [ebp - 0x25], 1
push eax
call fcn.004202c7
pop eax
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x50]
test byte [eax + 0x105], 1
jne 0x43d0ef
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 0x14]
test eax, eax
je 0x43d2f3
mov eax, dword [ecx + 0x18]
mov ecx, dword [ebp - 0x5c]
cmp ecx, eax
cmovbe ecx, eax
mov dword [ebp - 0x5c], ecx
jmp 0x43d0ef
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + 0x144]
or ecx, dword [eax + 0x148]
test cl, 0x10
je 0x43d8ed
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xe0]
mov eax, ecx
mov dword [ebp - 0x5c], ecx
test ecx, ecx
mov ecx, dword [ebp - 0xe4]
je 0x43d9a5
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x84], edx
mov byte [ebp - 0x32], 0
mov dword [ebp - 0x10], 6
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x50], ecx
call fcn.004212cc
mov ecx, dword [ebp - 0x50]
lea edx, [ebp - 0x80]
mov byte [ebp - 0x32], 0
mov dword [edx], ecx
mov ecx, dword [ebp - 0x38]
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
lea ecx, [ebp - 0xb8]
push dword [ebp + 8]
push dword [ebp - 0x5c]
push dword [ebp - 0x84]
call fcn.00424d5d
add esp, 0xc
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xb4]
imul ebx, dword [ebp - 0xb0], 0xc
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0x120], ecx
mov ecx, edx
lea eax, [edx + ebx]
mov dword [ebp - 0xb0], edx
mov edi, ecx
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x38], ecx
test ebx, ebx
je 0x43d687
lea eax, [edi + 0xc]
mov dword [ebp - 0xb0], eax
mov esi, dword [edi]
mov edx, dword [edi + 4]
cmp esi, 0x80000000
je 0x43d687
mov dword [ebp - 0x2c], esi
mov esi, dword [edi + 8]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x10], 8
lea ecx, [ebp - 0x11c]
push esi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], edx
call fcn.0041b0f8
pop eax
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
mov edx, esi
call fcn.0041b0e1
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x40]
mov edx, esi
mov dword [ecx + 8], eax
add ebx, 0xfffffff4
movsd xmm0, qword [ebp - 0x11c]
movsd qword [ecx], xmm0
mov ecx, dword [ebp - 0x38]
jmp 0x43d3cc
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x10], 0x2a
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x2c], eax
push 4
pop ecx
call fcn.0041e15e
mov ecx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x24], edx
mov dword [edx], ecx
mov dword [edx + 4], edi
lea edi, [ebp - 0x11c]
mov dword [edx + 8], esi
mov esi, dword [ebp - 0x30]
mov dword [edi], eax
mov dword [edi + 4], edx
mov edx, dword [ebp - 0x2c]
lea eax, [ebp - 0x4c]
mov dword [edi + 8], 1
mov dword [eax], esi
mov dword [eax + 4], edx
xor eax, eax
inc eax
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0xb8]
lea edx, [ebp - 0x4c]
mov dword [ebp - 0x10], 0x28
call fcn.0042b8f6
mov edi, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xb4]
cmp edi, 0x80000000
je 0x43d547
mov eax, dword [ebp - 0x20]
mov ebx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x11c]
jne 0x43d51d
mov dword [ebp - 0x24], edx
xor edx, edx
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x10], 0x29
inc edx
call fcn.0041e19c
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x24], ecx
imul eax, esi, 0xc
inc esi
mov dword [ecx + eax], edi
mov dword [ecx + eax + 4], edx
mov dword [ecx + eax + 8], ebx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x114], esi
mov dword [ebp - 0x10], 0x28
jmp 0x43d4b3
mov ecx, 0x80000000
call fcn.0041e52f
mov eax, dword [ebp - 0x114]
movsd xmm0, qword [ebp - 0x11c]
mov dword [ebp - 0x44], eax
movsd qword [ebp - 0x4c], xmm0
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x40]
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x10], 0x2b
call fcn.00420ff2
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0xb8]
push eax
push dword [ebp - 0x20]
call fcn.0042a30d
pop ecx
pop edx
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x10], 0x27
call fcn.0041e064
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x10], 3
call fcn.0041eb99
mov esi, dword [ebp - 0x20]
jmp 0x43e240
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x20], 0
mov esi, dword [eax + 0xc]
je 0x43ded3
mov eax, dword [esi + 0x144]
mov ecx, dword [esi + 0x148]
or ecx, eax
bt ecx, 9
jae 0x43c803
mov ecx, esi
mov dword [ebp - 0x30], esi
call fcn.00427ac8
mov ecx, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 3
mov dword [ebp - 0x60], edx
call fcn.0041860e
mov dword [ebp - 0x50], eax
push dword [ebp - 0x60]
push dword [ebp - 0x20]
mov dword [ebp - 0x5c], edx
push edx
call fcn.0058a110
add esp, 0xc
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + 0x60]
imul eax, dword [eax + 0x64], 0x16c
add eax, ecx
push 2
pop esi
lea edx, [ebp - 0x11c]
mov byte [ebp - 0x39], 1
mov dword [ebp - 0x10], 0x13
mov dword [edx], esi
mov dword [edx + 0x14], esi
mov dword [edx + 0x28], ecx
lea ecx, [ebp - 0xd0]
mov dword [edx + 0x2c], eax
call fcn.0042acea
mov eax, dword [ebp - 0xd0]
cmp eax, 0x80000000
push 4
pop esi
jne 0x43dc52
and dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 4
and dword [ebp - 0x78], 0
jmp 0x43dd92
mov esi, ecx
mov ecx, 0x80000000
call fcn.0041e52f
sub edi, esi
push 0xc
pop ecx
mov eax, edi
xor edx, edx
div ecx
mov esi, dword [ebp - 0xb0]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0xac]
xor edx, edx
sub eax, esi
div ecx
and dword [ebp - 0xb4], 0
mov edi, eax
push 4
pop ebx
xor ecx, ecx
mov edx, ebx
mov dword [ebp - 0xb8], ebx
call fcn.0042afb8
mov ecx, esi
mov edx, edi
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0x10], 9
call fcn.00405b7d
imul eax, dword [ebp - 0x120], 0xc
xor edx, edx
push 0xc
pop ecx
div ecx
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x20]
mov byte [ebp - 0x32], 0
mov dword [ebp - 0x10], 6
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], ecx
lea ecx, [ebp - 0xb8]
call fcn.0041b072
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x124]
lea ecx, [ebp - 0x11c]
mov byte [ebp - 0x63], 1
mov dword [ebp - 0x10], 0xb
lea eax, [edx + eax*8]
mov dword [ecx], edx
mov dword [ecx + 4], esi
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0xd8]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xd4]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0xbc]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0xe8]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp - 0x50]
mov dword [ecx + 0x20], eax
call fcn.0042b60c
test eax, eax
je 0x43df00
lea esi, [ebp - 0xb8]
mov dword [ebp - 0x24], edx
lea edx, [ebp - 0x11c]
mov dword [ebp - 0x20], eax
mov ecx, esi
call fcn.0042b67f
mov eax, dword [esi]
xor ecx, ecx
dec ecx
inc eax
cmove eax, ecx
cmp eax, 5
push 4
pop ecx
cmovae ecx, eax
mov byte [ebp - 0x63], 1
call fcn.00427349
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
lea edi, [ebp - 0x4c]
mov dword [edx], ecx
mov dword [edx + 4], esi
mov dword [ebp - 0x20], edx
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], 1
push 0x24
lea eax, [ebp - 0x11c]
push eax
lea esi, [ebp - 0xb8]
push esi
call fcn.0058a110
add esp, 0xc
mov ecx, esi
mov dword [ebp - 0x10], 0xc
call fcn.0042b60c
mov esi, dword [ebp - 0x60]
test eax, eax
je 0x43d98c
cmp esi, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x20]
jne 0x43d846
mov dword [ebp - 0x24], edx
lea ecx, [ebp - 0xd0]
lea edx, [ebp - 0xb8]
mov dword [ebp - 0x20], eax
call fcn.0042b67f
mov edx, dword [ebp - 0xd0]
mov eax, 0xffffffff
lea ecx, [ebp - 0x4c]
inc edx
cmove edx, eax
call fcn.0042ab0f
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x60]
mov dword [ecx + esi*8], eax
mov dword [ecx + esi*8 + 4], edx
inc esi
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x44], esi
jmp 0x43d7ed
mov dword [ebp - 0x84], ecx
lea edi, [esi + ecx*8]
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x148]
lea edx, [ebp - 0x11c]
mov dword [ebp - 0xe8], esi
mov byte [ebp - 0x62], 1
mov dword [ebp - 0x10], 0x1b
and dword [eax], 0
mov dword [eax + 4], 4
mov dword [edx], eax
and dword [eax + 8], 0
mov dword [edx + 4], ecx
and dword [edx + 8], 0
and dword [edx + 0x18], 0
mov dword [edx + 0x28], esi
mov dword [edx + 0x2c], edi
mov dword [edx + 0x30], ecx
lea ecx, [ebp - 0x4c]
call fcn.0042b09e
mov eax, dword [ebp - 0x4c]
cmp eax, 0x80000000
push 4
pop esi
jne 0x43d9bc
and dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 4
and dword [ebp - 0xdc], 0
lea ecx, [ebp - 0x11c]
call fcn.0042b227
jmp 0x43daff
mov ecx, dword [eax + 0x48]
imul eax, dword [eax + 0x4c], 0x11c
add eax, ecx
mov dword [ebp - 0x24], eax
cmp ecx, dword [ebp - 0x24]
je 0x43d31e
mov esi, ecx
add ecx, 0x11c
cmp dword [esi + 0x108], 0
jne 0x43d8fc
cmp dword [esi + 0x34], 0x110000
jne 0x43d8fc
mov dword [ebp - 0x20], ecx
mov eax, dword [esi + 0x100]
mov ecx, dword [ebp + 8]
mov edx, dword [esi + 0xfc]
mov byte [ebp - 0x25], 1
mov dword [ebp - 0x10], 4
push 0x5a88d0
push eax
mov dword [ebp - 0x2c], esi
call fcn.00425bc9
mov esi, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
add esp, 8
test al, al
jne 0x43d8fc
cmp dword [esi + 0x14], 0
je 0x43d965
mov eax, dword [ebp - 0x5c]
cmp dword [esi + 0x18], eax
jae 0x43d8fc
mov eax, dword [esi + 0x100]
mov edx, dword [esi + 0xfc]
lea ecx, [ebp - 0xe4]
mov byte [ebp - 0x25], 1
push eax
call fcn.004202c7
mov ecx, dword [ebp - 0x20]
add esp, 4
jmp 0x43d8fc
lea ecx, [ebp - 0xb8]
call fcn.0042a68e
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x48]
jmp 0x43df17
call fcn.0042aff9
lea ecx, [ebp - 0x160]
call fcn.0043ecf2
xor esi, esi
jmp 0x43e24b
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
lea edi, [ebp - 0xb8]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x40], ecx
lea edx, [ebp - 0x11c]
mov ecx, edi
call fcn.0042b23d
mov ecx, dword [edi]
xor eax, eax
mov dword [ebp - 0x10], 0x1e
dec eax
inc ecx
cmove ecx, eax
cmp ecx, 5
cmovb ecx, esi
call fcn.0041e15e
mov ecx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x40]
mov dword [ebp - 0x2c], edx
mov dword [edx], ecx
mov dword [edx + 4], edi
lea edi, [ebp - 0x80]
mov dword [edx + 8], ebx
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], 1
push 0x34
lea eax, [ebp - 0x11c]
push eax
lea esi, [ebp - 0xb8]
push esi
call fcn.0058a110
add esp, 0xc
xor eax, eax
mov edx, esi
inc eax
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x10], 0x1c
call fcn.0042b09e
mov ebx, dword [ebp - 0x70]
mov edi, dword [ebp - 0x6c]
cmp ebx, 0x80000000
je 0x43dad2
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x68]
mov esi, dword [ebp - 0x2c]
lea edx, [ebp - 0xb8]
cmp ecx, dword [ebp - 0x80]
mov dword [ebp - 0x40], eax
jne 0x43daa8
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x2c], edi
call fcn.0042b23d
mov edx, dword [ebp - 0x4c]
mov eax, 0xffffffff
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x10], 0x1d
inc edx
cmove edx, eax
call fcn.0041e19c
mov esi, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x60]
lea edx, [ebp - 0xb8]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x2c], esi
imul eax, ecx, 0xc
inc ecx
mov dword [esi + eax], ebx
mov ebx, dword [ebp - 0x40]
mov dword [esi + eax + 4], edi
mov dword [ebp - 0x24], ecx
mov dword [esi + eax + 8], ebx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x10], 0x1c
jmp 0x43da3c
mov ecx, 0x80000000
mov edx, edi
call fcn.0041e52f
lea ecx, [ebp - 0xb8]
call fcn.0042b227
movsd xmm0, qword [ebp - 0x80]
mov eax, dword [ebp - 0x78]
movsd qword [ebp - 0xe4], xmm0
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x48]
mov edx, dword [eax + 0x4c]
mov eax, dword [ebp - 0x20]
push dword [eax + 4]
push dword [eax]
call fcn.0041af22
pop ecx
pop edx
mov ecx, eax
mov edx, 0x5a899c
mov byte [ebp - 0x31], 1
mov dword [ebp - 0x10], 0x1f
mov dword [ebp - 0x40], eax
call fcn.0041af70
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x11c]
mov byte [ebp - 0x31], 1
mov dword [ecx], eax
mov eax, dword [ebp - 0x5c]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xd8]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xd4]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x30]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xe8]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x84]
mov dword [ecx + 0x18], eax
call fcn.0042a79f
test eax, eax
je 0x43e01e
mov byte [ebp - 0x31], 1
mov dword [ebp - 0x20], eax
push 4
pop ecx
mov dword [ebp - 0x24], edx
call fcn.00427349
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
mov dword [edx], ecx
mov dword [edx + 4], esi
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x24], edx
mov dword [ecx], eax
mov eax, dword [ebp - 0x104]
movsd xmm0, qword [ebp - 0x10c]
movsd xmm2, qword [ebp - 0x11c]
movsd xmm1, qword [ebp - 0x114]
mov dword [ecx + 4], edx
mov dword [ecx + 8], 1
lea ecx, [ebp - 0xb8]
mov dword [ecx + 0x18], eax
xor eax, eax
movsd qword [ecx + 0x10], xmm0
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm2
inc eax
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x10], 0x20
call fcn.0042a79f
mov esi, eax
test eax, eax
je 0x43dc3a
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x24]
jne 0x43dc24
mov dword [ebp - 0x2c], edx
xor edx, edx
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x24], esi
inc edx
call fcn.0042ab0f
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov dword [eax + ecx*8], esi
mov dword [eax + ecx*8 + 4], edx
inc ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x44], ecx
jmp 0x43dbe7
movsd xmm0, qword [ebp - 0x4c]
mov edx, dword [ebp - 0x44]
movsd qword [ebp - 0x80], xmm0
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x7c]
jmp 0x43e032
mov edx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc8]
lea edi, [ebp - 0xb8]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x2c], ecx
lea edx, [ebp - 0x11c]
mov ecx, edi
call fcn.0042ad83
mov eax, dword [edi]
xor ecx, ecx
mov dword [ebp - 0x10], 0x16
dec ecx
inc eax
cmove eax, ecx
cmp eax, 5
cmovae esi, eax
mov ecx, esi
call fcn.0041e15e
mov ecx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x2c]
mov dword [ebp - 0x24], edx
mov dword [edx], ecx
mov dword [edx + 4], edi
lea edi, [ebp - 0x70]
mov dword [edx + 8], ebx
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], 1
push 0x30
lea eax, [ebp - 0x11c]
push eax
lea esi, [ebp - 0xb8]
push esi
call fcn.0058a110
add esp, 0xc
xor eax, eax
mov edx, esi
inc eax
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x10], 0x14
call fcn.0042acea
mov ebx, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x48]
cmp ebx, 0x80000000
je 0x43dd76
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
mov esi, dword [ebp - 0x24]
lea edx, [ebp - 0xb8]
cmp ecx, dword [ebp - 0x70]
mov dword [ebp - 0x2c], eax
jne 0x43dd4c
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x24], edi
call fcn.0042ad83
mov edx, dword [ebp - 0xd0]
mov eax, 0xffffffff
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x10], 0x15
inc edx
cmove edx, eax
call fcn.0041e19c
mov esi, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x40]
lea edx, [ebp - 0xb8]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x24], esi
imul eax, ecx, 0xc
inc ecx
mov dword [esi + eax], ebx
mov ebx, dword [ebp - 0x2c]
mov dword [esi + eax + 4], edi
mov dword [ebp - 0x20], ecx
mov dword [esi + eax + 8], ebx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x10], 0x14
jmp 0x43dcda
mov ecx, 0x80000000
mov edx, edi
call fcn.0041e52f
movsd xmm0, qword [ebp - 0x70]
mov eax, dword [ebp - 0x68]
movsd qword [ebp - 0x80], xmm0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x38]
mov byte [ebp - 0x51], 0
mov byte [ebp - 0x52], 1
mov dword [ebp - 0x10], 0x17
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x20], ecx
call fcn.004212cc
mov ecx, dword [ebp - 0x20]
lea edx, [ebp - 0xd0]
mov byte [ebp - 0x51], 0
mov byte [ebp - 0x52], 1
mov dword [edx], ecx
mov ecx, dword [ebp - 0x38]
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
lea ecx, [ebp - 0x4c]
push 0
push str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_std_srcioimpls.rs
call fcn.00421365
pop eax
pop ecx
mov byte [ebp - 0x53], 1
mov byte [ebp - 0x54], 0
mov dword [ebp - 0x10], 0x19
push 0xa
pop ecx
call fcn.004219d8
mov edx, dword [ebp - 0x30]
mov ecx, eax
mov byte [ebp - 0x53], 1
mov byte [ebp - 0x54], 0
mov dword [ebp - 0x20], eax
call fcn.00421527
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x78]
movsd xmm0, qword [ebp - 0x80]
lea edx, [ebp - 0xb8]
mov dword [edx + 0xb], eax
movsd qword [edx + 3], xmm0
mov eax, dword [ebp - 0x50]
movsd xmm0, qword [edx + 7]
movsd qword [ebp - 0x115], xmm0
movsd xmm0, qword [edx]
mov byte [edx], 0
mov byte [edx + 4], 2
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x5c]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x60]
movsd qword [ebp - 0x11c], xmm0
movsd xmm0, qword [ebp - 0x11c]
movsd xmm1, qword [ebp - 0x115]
mov dword [edx + 0x10], eax
mov al, 3
mov byte [edx + 0x14], al
mov byte [edx + 0x18], al
mov al, 1
movsd qword [edx + 0x20], xmm1
movsd qword [edx + 0x19], xmm0
mov byte [ebp - 0x53], al
mov byte [ebp - 0x54], al
call fcn.00427cbf
mov esi, dword [ebp - 0x20]
cmp dword [ebp - 0x4c], 0x80000000
je 0x43e240
mov eax, dword [ebp - 0x44]
movsd xmm0, qword [ebp - 0x4c]
mov byte [ebp - 0x53], 0
mov byte [ebp - 0x54], 1
mov dword [ebp - 0xac], eax
movsd qword [ebp - 0xb4], xmm0
mov byte [ebp - 0xb8], 4
push 0xf
pop edx
lea eax, [ebp - 0xb8]
mov ecx, esi
push eax
call fcn.00421b15
mov esi, dword [ebp - 0x20]
add esp, 4
jmp 0x43e240
lea ecx, [ebp - 0x16c]
mov edx, esi
push 0
call fcn.0043eda6
pop eax
mov eax, dword [ebp - 0x38]
mov edx, dword [eax + 0xc]
push 0xd
pop ecx
lea eax, [ebp - 0x16c]
push eax
call fcn.0043f114
pop ecx
mov esi, eax
jmp 0x43e240
lea ecx, [ebp - 0x11c]
call fcn.0042a68e
xor esi, esi
mov dword [ebp - 0x2c], 0
push 4
pop eax
mov byte [ebp - 0x64], 1
mov dword [ebp - 0x10], 0xd
lea ecx, [ebp - 0xd0]
lea edx, [ebp - 0x80]
push esi
mov dword [ebp - 0x24], eax
push eax
call fcn.00421365
pop eax
pop ecx
mov byte [ebp - 0x55], 1
mov byte [ebp - 0x56], 0
mov dword [ebp - 0x10], 0xf
push 9
pop ecx
call fcn.004219d8
mov edx, dword [ebp - 0x50]
mov ecx, eax
mov byte [ebp - 0x55], 1
mov byte [ebp - 0x56], 0
mov dword [ebp - 0x20], eax
call fcn.00421527
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x68]
movsd xmm0, qword [ebp - 0x70]
lea edx, [ebp - 0xb8]
mov dword [edx + 0xb], eax
movsd qword [edx + 3], xmm0
mov al, 1
movsd xmm0, qword [edx + 7]
mov byte [ebp - 0x55], al
mov byte [ebp - 0x56], al
movsd qword [ebp - 0x115], xmm0
movsd xmm0, qword [edx]
mov byte [edx], al
mov byte [edx + 4], 3
movsd qword [ebp - 0x11c], xmm0
movsd xmm0, qword [ebp - 0x11c]
movsd xmm1, qword [ebp - 0x115]
movsd qword [edx + 5], xmm0
movsd qword [edx + 0xc], xmm1
call fcn.0043f6ab
mov esi, dword [ebp - 0x20]
cmp dword [ebp - 0xd0], 0x80000000
je 0x43e013
mov eax, dword [ebp - 0xc8]
movsd xmm0, qword [ebp - 0xd0]
mov byte [ebp - 0x55], 0
mov byte [ebp - 0x56], 1
mov dword [ebp - 0xac], eax
movsd qword [ebp - 0xb4], xmm0
mov byte [ebp - 0xb8], 4
push 0xf
pop edx
lea eax, [ebp - 0xb8]
mov ecx, esi
push eax
call fcn.00421b15
mov esi, dword [ebp - 0x20]
add esp, 4
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
jmp 0x43e23b
and dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 4
and dword [ebp - 0x78], 0
push 4
pop eax
xor edx, edx
lea esi, [ebp - 0x80]
lea ecx, [ebp - 0x11c]
lea edx, [eax + edx*8]
mov dword [ecx], esi
mov esi, dword [ebp - 0xe8]
mov dword [ecx + 4], esi
mov esi, dword [ebp - 0x84]
mov dword [ecx + 8], esi
mov esi, dword [ebp - 0x30]
and dword [ecx + 0xc], 0
and dword [ecx + 0x14], 0
mov dword [ecx + 0x1c], eax
mov dword [ecx + 0x20], edx
mov dword [ecx + 0x24], esi
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x2c], edx
call fcn.0042a806
test eax, eax
push 4
pop edi
je 0x43e164
lea esi, [ebp - 0xb8]
mov dword [ebp - 0x24], edx
lea edx, [ebp - 0x11c]
mov dword [ebp - 0x20], eax
mov ecx, esi
call fcn.0042aa42
mov eax, dword [esi]
xor ecx, ecx
mov dword [ebp - 0x10], 0x22
dec ecx
inc eax
cmove eax, ecx
cmp eax, 5
cmovae edi, eax
mov ecx, edi
call fcn.00427349
mov ecx, dword [ebp - 0x20]
mov esi, edx
mov dword [edx], ecx
mov ecx, dword [ebp - 0x24]
mov dword [edx + 4], ecx
lea ecx, [ebp - 0x70]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov dword [ecx + 8], 1
push 0x30
lea eax, [ebp - 0x11c]
push eax
lea edi, [ebp - 0xb8]
push edi
call fcn.0058a110
add esp, 0xc
xor ebx, ebx
inc ebx
mov ecx, edi
call fcn.0042a806
test eax, eax
je 0x43e146
cmp ebx, dword [ebp - 0x70]
jne 0x43e139
mov dword [ebp - 0x2c], edx
lea ecx, [ebp - 0x4c]
mov edx, edi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], ebx
call fcn.0042aa42
mov edx, dword [ebp - 0x4c]
mov eax, 0xffffffff
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x10], 0x23
inc edx
cmove edx, eax
call fcn.0042ab0f
mov esi, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x2c]
lea edi, [ebp - 0xb8]
mov dword [esi + ebx*8], eax
mov dword [esi + ebx*8 + 4], edx
inc ebx
mov dword [ebp - 0x68], ebx
jmp 0x43e0e9
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x10], 0x24
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xbc], ecx
jmp 0x43e179
mov dword [ebp - 0x10], 0x24
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov ecx, esi
call fcn.004212cc
mov ecx, dword [ebp - 0x30]
lea edx, [ebp - 0xb8]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x38]
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
lea ecx, [ebp - 0x4c]
push dword [ebp - 0x20]
push dword [ebp - 0xbc]
call fcn.00421365
pop eax
pop ecx
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0xbc]
call fcn.0042aff9
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
call fcn.0042aff9
mov edx, dword [ebp - 0x40]
lea ecx, [ebp - 0x11c]
mov byte [ebp - 0x72], 0
mov byte [ebp - 0x73], 1
mov dword [ebp - 0x10], 0x21
call fcn.00420ff2
mov eax, dword [ebp - 0xdc]
movsd xmm0, qword [ebp - 0xe4]
mov ecx, dword [ebp - 0x30]
mov byte [ebp - 0x72], 1
mov byte [ebp - 0x73], 0
lea edx, [ebp - 0x11c]
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0x4c]
movsd qword [ebp - 0xb8], xmm0
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.0043f1ad
pop ecx
pop edx
mov ecx, dword [ebp - 0x148]
mov edx, dword [ebp - 0x144]
mov esi, eax
call fcn.0042aff9
mov ecx, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x138]
call fcn.0042aff9
lea ecx, [ebp - 0x160]
call fcn.0043ecf2
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov eax, esi
add esp, 0x160
pop esi
pop edi
pop ebx
pop ebp
ret