Function at 0x466350
Capabilities:
Query environment variable
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x420
cmp byte [0x533530], 0
jne 0x4663b7
push str.LLVM_DISABLE_SYMBOLIZATION
call sub.api_ms_win_crt_environment_l1_1_0.dll_getenv
add esp, 4
test eax, eax
jne 0x4663b7
lea esi, [ebp + 8]
mov dword [esp + 0x190], str.llvm_symbolizer
mov dword [esp + 0x194], 0xf
sub esp, 0xc
movsd xmm0, qword [esp + 0x19c]
movsd qword [esp], xmm0
mov dword [esp + 8], 0
mov ecx, esi
call fcn.004617f0
cmp eax, 0xffffffff
je 0x4663c3
xor ebx, ebx
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.00504d20
or byte [esp + 0x1c], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
push str.LLVM_SYMBOLIZER_PATH
call sub.api_ms_win_crt_environment_l1_1_0.dll_getenv
add esp, 4
test eax, eax
je 0x46649e
mov dword [esp + 0xbc], eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov dword [esp + 0xc0], eax
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb4], 0
sub esp, 0x14
movsd xmm0, qword [esp + 0xc8]
movsd qword [esp + 0xc], xmm0
movsd xmm0, qword [esp + 0xd0]
movsd qword [esp + 4], xmm0
lea eax, [esp + 0x1a4]
mov dword [esp], eax
call fcn.004a0300
add esp, 0x14
movzx eax, byte [esp + 0x1c]
test al, 1
jne 0x46646f
test byte [esp + 0x10], 1
je 0x46646f
push dword [esp + 0x18]
call sub.libc.dll_operator_delete_void_
add esp, 4
movzx eax, byte [esp + 0x1c]
test byte [esp + 0x19c], 1
jne 0x466574
and al, 0xfe
mov ecx, dword [esp + 0x198]
mov dword [esp + 0x18], ecx
movsd xmm0, qword [esp + 0x190]
movsd qword [esp + 0x10], xmm0
jmp 0x46658c
cmp dword [esi + 4], 0
je 0x466590
movsd xmm0, qword [esi]
movsd qword [esp + 0x2c8], xmm0
sub esp, 0xc
movsd qword [esp], xmm0
mov dword [esp + 8], 0
call fcn.004a3550
add esp, 0xc
mov dword [esp + 0x300], edx
mov dword [esp + 0x2fc], eax
test edx, edx
je 0x466590
mov dword [esp + 0xac], str.llvm_symbolizer
mov dword [esp + 0xb0], 0xf
lea eax, [esp + 0x2fc]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], 1
sub esp, 0x14
movsd xmm0, qword [esp + 0xb8]
movsd qword [esp + 0xc], xmm0
movsd xmm0, qword [esp + 0xc0]
movsd qword [esp + 4], xmm0
lea edi, [esp + 0x1a4]
mov dword [esp], edi
call fcn.004a0300
add esp, 0x14
lea ecx, [esp + 0x10]
push edi
call fcn.00467250
test byte [esp + 0x19c], 1
jne 0x466590
test byte [esp + 0x190], 1
je 0x466590
push dword [esp + 0x198]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x466590
or al, 1
mov ecx, dword [esp + 0x190]
mov edx, dword [esp + 0x194]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
mov byte [esp + 0x1c], al
movzx eax, byte [esp + 0x1c]
test al, 1
je 0x466661
mov dword [esp + 0x9c], str.llvm_symbolizer
mov dword [esp + 0xa0], 0xf
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 0
sub esp, 0x14
movsd xmm0, qword [esp + 0xa8]
movsd qword [esp + 0xc], xmm0
movsd xmm0, qword [esp + 0xb0]
movsd qword [esp + 4], xmm0
lea eax, [esp + 0x1a4]
mov dword [esp], eax
call fcn.004a0300
add esp, 0x14
movzx eax, byte [esp + 0x1c]
test al, 1
jne 0x46661d
test byte [esp + 0x10], 1
je 0x46661d
push dword [esp + 0x18]
call sub.libc.dll_operator_delete_void_
add esp, 4
movzx eax, byte [esp + 0x1c]
test byte [esp + 0x19c], 1
jne 0x466645
and al, 0xfe
mov ecx, dword [esp + 0x198]
mov dword [esp + 0x18], ecx
movsd xmm0, qword [esp + 0x190]
movsd qword [esp + 0x10], xmm0
jmp 0x46665d
or al, 1
mov ecx, dword [esp + 0x190]
mov edx, dword [esp + 0x194]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
mov byte [esp + 0x1c], al
test al, 1
jne 0x4666ae
mov word [esp + 0x1a0], 0x105
mov eax, dword [esi]
mov dword [esp + 0x190], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x194], eax
lea eax, [esp + 0x190]
push 0
push eax
call fcn.004a9310
add esp, 8
test eax, eax
je 0x4666b5
lea eax, [esp + 0x134]
push 0
push 0
push eax
call fcn.004a8080
add esp, 0xc
jmp 0x4666c2
xor ebx, ebx
jmp 0x46720e
lea ecx, [esp + 0x134]
push esi
call fcn.004672e0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
lea eax, [esp + 0xec]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 4
lea eax, [esp + 0x108]
mov dword [esp + 0xfc], eax
movaps xmm0, xmmword [0x513c80]
movups xmmword [esp + 0x100], xmm0
lea eax, [esp + 0xd8]
mov dword [esp + 0x58], eax
mov edi, dword [ebp + 0x14]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
test edi, edi
je 0x4667e1
cmp edi, 0x40000000
jae 0x467232
lea ebx, [edi*4]
push ebx
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov esi, eax
mov dword [esp + 0x34], eax
lea edi, [eax + edi*4]
mov dword [esp + 0x3c], edi
push ebx
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esp + 0x38], edi
mov ebx, dword [ebp + 0x14]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
test ebx, ebx
je 0x4667fb
cmp ebx, 0x40000000
jae 0x46723b
lea eax, [ebx*4]
mov dword [esp + 0xc], eax
push eax
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov edi, eax
mov dword [esp + 0x28], eax
lea ebx, [eax + ebx*4]
mov dword [esp + 0x30], ebx
push dword [esp + 0xc]
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esp + 0x2c], ebx
jmp 0x4667fd
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
xor esi, esi
xor edi, edi
mov ebx, dword [0x53352c]
test ebx, ebx
je 0x466c7d
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], esi
mov dword [esp + 0x19c], edi
lea eax, [esp + 0x58]
mov dword [esp + 0x1a0], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea edi, [esp + 0x190]
push edi
push 0x468ee0
push eax
call ebx
lea eax, [esp + 0x2a8]
mov dword [esp + 0x29c], eax
mov dword [esp + 0x2a0], 0
mov dword [esp + 0x2a4], 0x20
lea eax, [esp + 0x170]
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0x20
mov dword [esp + 0x190], str.symbolizer_input
mov word [esp + 0x1a0], 0x103
mov dword [esp + 0x8c], 0x513d21
mov dword [esp + 0x90], 0
sub esp, 0x18
movsd xmm0, qword [esp + 0xa4]
movsd qword [esp + 4], xmm0
lea esi, [esp + 0x2b4]
mov dword [esp + 0x10], esi
lea eax, [esp + 0x6c]
mov dword [esp + 0xc], eax
mov dword [esp], edi
mov dword [esp + 0x14], 0
call fcn.004a6870
add esp, 0x18
mov dword [esp + 0x190], str.symbolizer_output
mov word [esp + 0x1a0], 0x103
mov dword [esp + 0x84], 0x513d21
mov dword [esp + 0x88], 0
sub esp, 0x14
movsd xmm0, qword [esp + 0x98]
movsd qword [esp + 4], xmm0
lea eax, [esp + 0x178]
mov dword [esp + 0xc], eax
mov dword [esp], edi
mov dword [esp + 0x10], 0
call fcn.004a6a40
add esp, 0x14
mov ecx, esi
call fcn.00467350
mov word [esp + 0x1a0], 0x101
mov bl, 1
cmp byte [eax], 0
mov cl, 1
je 0x466977
mov dword [esp + 0x190], eax
mov cl, 3
mov byte [esp + 0x1a0], cl
lea eax, [esp + 0x308]
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x300], 0
mov dword [esp + 0x304], 0x80
mov byte [esp + 0x388], 1
lea eax, [esp + 0x2fc]
lea ecx, [esp + 0x190]
push eax
call fcn.00465530
lea ecx, [esp + 0x164]
call fcn.00467350
mov word [esp + 0x1a0], 0x101
cmp byte [eax], 0
je 0x4669e2
mov dword [esp + 0x190], eax
mov bl, 3
mov byte [esp + 0x1a0], bl
lea eax, [esp + 0x398]
mov dword [esp + 0x38c], eax
mov dword [esp + 0x390], 0
mov dword [esp + 0x394], 0x80
mov byte [esp + 0x418], 1
lea eax, [esp + 0x38c]
lea ecx, [esp + 0x190]
push eax
call fcn.00465530
lea esi, [esp + 0x190]
mov ecx, esi
push 0
push 0
push 1
push dword [esp + 0x60]
call fcn.0046ca70
cmp dword [ebp + 0x14], 0
jle 0x466b0c
xor ebx, ebx
jmp 0x466a5f
mov byte [ecx], 0xa
inc dword [eax + 0x10]
inc ebx
cmp ebx, dword [ebp + 0x14]
jge 0x466b0c
mov eax, dword [esp + 0x34]
mov edi, dword [eax + ebx*4]
test edi, edi
je 0x466a55
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, dword [esp + 0x19c]
mov edx, dword [esp + 0x1a0]
sub ecx, edx
cmp eax, ecx
jbe 0x466aa4
mov ecx, esi
push eax
push edi
call fcn.0046b680
mov ecx, eax
mov edx, dword [eax + 0x10]
add eax, 0x10
cmp dword [ecx + 0xc], edx
je 0x466ad3
mov byte [edx], 0x20
inc dword [eax]
jmp 0x466ae1
test eax, eax
je 0x466ac5
push eax
push edi
push edx
mov edi, eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0x1a0]
add edx, edi
mov dword [esp + 0x1a0], edx
mov ecx, esi
lea eax, [esp + 0x1a0]
cmp dword [ecx + 0xc], edx
jne 0x466a9d
push 1
push 0x513d34
call fcn.0046b680
mov ecx, eax
mov eax, dword [esp + 0x28]
push dword [eax + ebx*4]
call fcn.0046b500
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
jne 0x466a4f
mov ecx, eax
push 1
push 0x513d36
call fcn.0046b680
jmp 0x466a55
lea esi, [esp + 0x190]
mov ecx, esi
call fcn.0046dba0
mov eax, dword [esp + 0x29c]
mov ecx, dword [esp + 0x2a0]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x140], eax
mov byte [esp + 0x148], 1
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x150], ecx
mov dword [esp + 0x14c], eax
mov byte [esp + 0x154], 1
mov dword [esp + 0x158], 0x513d21
mov dword [esp + 0x15c], 0
mov byte [esp + 0x160], 1
movsd xmm0, qword [0x513d98]
movsd qword [esp + 0x2f0], xmm0
movups xmm0, xmmword [0x513d88]
movaps xmmword [esp + 0x2e0], xmm0
movups xmm0, xmmword [0x513d78]
movaps xmmword [esp + 0x2d0], xmm0
movzx eax, byte [esp + 0x10]
mov ecx, eax
shr ecx, 1
test al, 1
lea eax, [esp + 0x11]
cmovne eax, dword [esp + 0x18]
mov dword [esp + 0x7c], eax
cmovne ecx, dword [esp + 0x14]
mov dword [esp + 0x80], ecx
lea eax, [esp + 0x2d0]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 5
mov byte [esp + 0x128], 0
mov byte [esp + 0x130], 0
lea eax, [esp + 0x140]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 3
sub esp, 0x3c
movsd xmm0, qword [esp + 0xa8]
movsd qword [esp + 0x1c], xmm0
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x18], eax
movsd xmm0, qword [esp + 0x164]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esp + 0xb0]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0xb8]
movsd qword [esp], xmm0
xorps xmm0, xmm0
movups xmmword [esp + 0x24], xmm0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
call fcn.0049eac0
add esp, 0x3c
test eax, eax
je 0x466c84
xor esi, esi
jmp 0x4670bb
xor esi, esi
jmp 0x46710d
lea ecx, [esp + 0x164]
call fcn.00467350
mov word [esp + 0x1a0], 0x101
cmp byte [eax], 0
je 0x466caa
mov dword [esp + 0x190], eax
mov al, 3
jmp 0x466cac
mov al, 1
mov byte [esp + 0x1a0], al
mov word [esp + 0x44], 0
sub esp, 0x18
mov dword [esp + 4], esi
lea eax, [esp + 0x60]
mov dword [esp], eax
mov word [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
call fcn.004ad020
add esp, 0x18
movzx eax, byte [esp + 0x50]
test al, 1
jne 0x467079
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
sub eax, ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
lea ebx, [esp + 0x19c]
mov dword [esp + 0x190], ebx
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0x20
mov dword [esp + 0x5c], 0x513d36
mov dword [esp + 0x60], 1
sub esp, 0x14
movsd xmm0, qword [esp + 0x70]
movsd qword [esp + 4], xmm0
mov dword [esp], esi
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0xffffffff
lea ecx, [esp + 0x78]
call fcn.004620c0
mov edi, dword [esp + 0x190]
mov dword [esp + 0x40], 0
mov dword [esp + 0x24], 0
cmp dword [ebp + 0x14], 0
jle 0x46706f
mov esi, dword [ebp + 0x18]
xor eax, eax
lea ecx, [esp + 0x40]
lea edx, [ebp + 0x14]
lea ebx, [ebp + 0x10]
mov dword [esp + 0xc4], esi
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd0], ebx
lea ecx, [esp + 0x24]
mov dword [esp + 0xd4], ecx
mov ecx, dword [esp + 0x34]
cmp dword [ecx + eax*4], 0
je 0x46701d
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
lea ecx, [eax + ecx*8]
cmp edi, ecx
je 0x46707d
add edi, 8
jmp 0x466e1c
mov byte [eax], 0xa
inc dword [esi + 0x10]
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
lea ecx, [eax + ecx*8]
lea edx, [edi + 0x10]
add edi, 8
cmp edi, ecx
mov edi, edx
lea edx, [ebp + 0x14]
je 0x46707d
mov ebx, dword [edi - 4]
test ebx, ebx
je 0x467048
mov esi, dword [edi - 8]
lea ecx, [esp + 0xc4]
call fcn.00467380
cmp ebx, 1
je 0x466e45
movzx eax, word [esi]
cmp eax, 0x3f3f
je 0x466e96
mov dword [esp + 0xc], edi
mov edi, dword [ebp + 0x18]
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
sub ecx, eax
cmp ebx, ecx
jbe 0x466e66
mov ecx, edi
push ebx
push esi
call fcn.0046b680
mov ebx, dword [eax + 0x10]
jmp 0x466e79
push ebx
push esi
push eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
add ebx, dword [edi + 0x10]
mov dword [edi + 0x10], ebx
mov eax, edi
cmp ebx, dword [eax + 0xc]
mov edi, dword [esp + 0xc]
jae 0x466e8d
lea ecx, [ebx + 1]
mov dword [eax + 0x10], ecx
mov byte [ebx], 0x20
jmp 0x466e96
mov ecx, eax
push 0x20
call fcn.0046b5f0
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
lea ecx, [eax + ecx*8]
cmp edi, ecx
mov esi, dword [ebp + 0x18]
je 0x46707d
mov eax, dword [edi]
mov ebx, dword [edi + 4]
cmp ebx, 2
jb 0x466ec7
movzx ecx, word [eax]
cmp ecx, 0x3f3f
je 0x466efc
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
sub edx, ecx
cmp ebx, edx
jbe 0x466ee1
mov ecx, esi
push ebx
push eax
call fcn.0046b680
jmp 0x466ff0
test ebx, ebx
je 0x466ff0
push ebx
push eax
push ecx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
add dword [esi + 0x10], ebx
jmp 0x466ff0
mov eax, dword [esi + 0x10]
cmp dword [esi + 0xc], eax
je 0x466f0e
mov byte [eax], 0x28
inc dword [esi + 0x10]
mov ebx, esi
jmp 0x466f1e
mov ecx, esi
push 1
push 0x513da3
call fcn.0046b680
mov ebx, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
mov esi, dword [ecx + eax*4]
test esi, esi
je 0x466f63
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
sub ecx, edx
cmp eax, ecx
jbe 0x466f4f
mov ecx, ebx
push eax
push esi
call fcn.0046b680
mov ebx, eax
jmp 0x466f63
test eax, eax
je 0x466f63
push eax
push esi
push edx
mov esi, eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
add dword [ebx + 0x10], esi
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 0xc]
mov esi, dword [ebp + 0x18]
jae 0x466f79
lea ecx, [eax + 1]
mov dword [ebx + 0x10], ecx
mov byte [eax], 0x2b
jmp 0x466f84
mov ecx, ebx
push 0x2b
call fcn.0046b5f0
mov ebx, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x110], eax
sar eax, 0x1f
mov dword [esp + 0x114], eax
mov dword [esp + 0x11c], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x120], 0
mov word [esp + 0x124], 1
mov byte [esp + 0x126], 1
mov ecx, ebx
lea eax, [esp + 0x110]
push eax
call fcn.0046bad0
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x46700f
mov byte [ecx], 0x29
inc dword [eax + 0x10]
mov eax, dword [esi + 0x10]
cmp dword [esi + 0xc], eax
jne 0x466df2
mov ecx, esi
push 1
push 0x513d36
call fcn.0046b680
jmp 0x466df8
mov ecx, eax
push 1
push 0x513da5
jmp 0x466ed7
lea ecx, [esp + 0xc4]
call fcn.00467380
mov eax, dword [esi + 0x10]
cmp eax, dword [esi + 0xc]
jae 0x46703c
lea ecx, [eax + 1]
mov dword [esi + 0x10], ecx
mov byte [eax], 0xa
jmp 0x467045
mov ecx, esi
push 0xa
call fcn.0046b5f0
lea edx, [ebp + 0x14]
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [ebp + 0x14]
lea ecx, [esp + 0x40]
lea ebx, [ebp + 0x10]
jl 0x466d9f
mov edi, dword [esp + 0x190]
lea ebx, [esp + 0x19c]
mov al, 1
mov dword [esp + 0xc], eax
mov eax, edi
jmp 0x46708c
xor esi, esi
jmp 0x4670a2
mov dword [esp + 0xc], 0
lea ebx, [esp + 0x19c]
cmp eax, ebx
je 0x467099
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
movzx eax, byte [esp + 0x50]
mov esi, dword [esp + 0xc]
test al, 1
jne 0x4670bb
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x48], 0
test ecx, ecx
je 0x4670bb
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [esp + 0x38c]
call fcn.00467560
lea ecx, [esp + 0x2fc]
call fcn.00467560
mov eax, dword [esp + 0x164]
lea ecx, [esp + 0x170]
cmp eax, ecx
je 0x4670ee
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
mov eax, dword [esp + 0x29c]
lea ecx, [esp + 0x2a8]
cmp eax, ecx
je 0x467109
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
mov edi, dword [esp + 0x28]
test edi, edi
je 0x46711e
mov dword [esp + 0x2c], edi
push edi
call sub.libc.dll_operator_delete_void_
add esp, 4
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x34]
test eax, eax
je 0x467133
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
mov esi, dword [esp + 0xe4]
test esi, esi
je 0x467187
mov edi, dword [esp + 0xe0]
shl esi, 2
xor ebx, ebx
nop word [eax + eax]
lea ecx, [edi + ebx]
sub ecx, dword [esp + 0xe0]
sar ecx, 2
shr ecx, 7
cmp ecx, 0x1e
mov eax, 0x1e
cmovae ecx, eax
mov eax, 0x1000
shl eax, cl
push 8
push eax
push dword [edi + ebx]
call fcn.004ae450
add esp, 0xc
add ebx, 4
cmp esi, ebx
jne 0x467150
mov esi, dword [esp + 0xfc]
mov eax, dword [esp + 0x100]
test eax, eax
je 0x4671bd
lea edi, [esi + eax*8]
nop dword [eax]
push 8
push dword [esi + 4]
push dword [esi]
call fcn.004ae450
add esp, 0xc
add esi, 8
cmp esi, edi
jne 0x4671a0
mov esi, dword [esp + 0xfc]
mov ebx, dword [esp + 0xc]
lea eax, [esp + 0x108]
cmp esi, eax
je 0x4671d5
push esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
mov eax, dword [esp + 0xe0]
lea ecx, [esp + 0xec]
cmp eax, ecx
je 0x4671f0
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
test byte [esp + 0x134], 1
je 0x467209
push dword [esp + 0x13c]
call sub.libc.dll_operator_delete_void_
add esp, 4
movzx eax, byte [esp + 0x1c]
test al, 1
jne 0x4663b9
test byte [esp + 0x10], 1
je 0x4663b9
push dword [esp + 0x18]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x4663b9
lea ecx, [esp + 0x34]
call fcn.00469fc0
lea ecx, [esp + 0x28]
call fcn.00469fd0
int3