Function at 0x46c5f0
Capabilities:
Check for peb beingdebugged flag

Disassembly:
push 0xffffffffffffffff
push 0x523638
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push ebp
push esi
push edi
mov eax, dword [0x581500]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword [esp + 0x174]
mov esi, edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x38]
lea ebp, [ebx + ebx + 2]
cmp ebp, eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x24], ebx
jge 0x46c744
jmp 0x46c650
mov ecx, ebp
imul ecx, ecx, 0x138
lea eax, [ecx + esi]
lea edx, [eax - 0x138]
push edx
push eax
call dword [esp + 0x24]
add esp, 8
test al, al
je 0x46c66f
dec ebp
mov edi, ebp
imul ebx, ebx, 0x138
imul edi, edi, 0x138
add edi, esi
add ebx, esi
cmp byte [edi + 0x11c], 0
lea eax, [edi + 0xc]
jne 0x46c690
mov eax, dword [edi + 8]
add eax, 4
mov dword [esp + 0x14], eax
jne 0x46c6a5
mov dword [esp + 0x14], 0x55922c
mov eax, dword [esp + 0x14]
lea edx, [eax + 2]
jmp 0x46c6b0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x46c6b0
sub eax, edx
sar eax, 1
lea ecx, [eax + 1]
lea esi, [ebx + 8]
mov dword [ebx + 4], eax
mov dword [esp + 0x20], ecx
call fcn.00412590
cmp byte [esi + 0x114], 0
je 0x46c6df
add esi, 4
jmp 0x46c6e1
mov esi, dword [esi]
mov ecx, dword [esp + 0x20]
lea edx, [ecx + ecx]
mov ecx, dword [esp + 0x14]
push edx
lea eax, [esi + 4]
push ecx
push eax
call fcn.004ff740
mov edx, dword [edi + 0x128]
mov esi, dword [esp + 0x24]
mov dword [ebx + 0x128], edx
mov eax, dword [edi + 0x12c]
mov dword [ebx + 0x12c], eax
mov ecx, dword [edi + 0x130]
mov dword [ebx + 0x130], ecx
mov edx, dword [edi + 0x134]
mov dword [ebx + 0x134], edx
mov ebx, ebp
lea ebp, [ebp + ebp + 2]
add esp, 0xc
cmp ebp, dword [esp + 0x38]
jl 0x46c650
mov eax, dword [esp + 0x38]
cmp ebp, eax
jne 0x46c800
imul eax, eax, 0x138
imul ebx, ebx, 0x138
lea edi, [eax + esi - 0x138]
add ebx, esi
cmp byte [edi + 0x11c], 0
lea eax, [edi + 0xc]
jne 0x46c76e
mov eax, dword [edi + 8]
add eax, 4
mov dword [esp + 0x14], eax
jne 0x46c783
mov dword [esp + 0x14], 0x55922c
mov eax, dword [esp + 0x14]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x46c786
sub eax, edx
sar eax, 1
lea ebp, [eax + 1]
lea esi, [ebx + 8]
mov ecx, ebp
mov dword [ebx + 4], eax
call fcn.00412590
cmp byte [esi + 0x114], 0
je 0x46c7b3
add esi, 4
jmp 0x46c7b5
mov esi, dword [esi]
mov edx, dword [esp + 0x14]
lea ecx, [ebp + ebp]
push ecx
lea eax, [esi + 4]
push edx
push eax
call fcn.004ff740
mov eax, dword [edi + 0x128]
mov dword [ebx + 0x128], eax
mov ecx, dword [edi + 0x12c]
mov dword [ebx + 0x12c], ecx
mov edx, dword [edi + 0x130]
mov dword [ebx + 0x130], edx
mov eax, dword [edi + 0x134]
mov dword [ebx + 0x134], eax
mov ebx, dword [esp + 0x44]
add esp, 0xc
dec ebx
mov ecx, dword [esp + 0x1c]
push ecx
sub esp, 0x138
mov edi, esp
mov ecx, edi
mov dword [esp + 0x15c], esp
call fcn.004114e0
cmp byte [esp + 0x294], 0
lea eax, [esp + 0x184]
jne 0x46c833
mov eax, dword [esp + 0x180]
add eax, 4
mov dword [esp + 0x150], eax
jne 0x46c851
mov dword [esp + 0x150], 0x55922c
mov eax, dword [esp + 0x150]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x46c854
sub eax, edx
sar eax, 1
lea ebp, [eax + 1]
lea esi, [edi + 8]
mov ecx, ebp
mov dword [edi + 4], eax
call fcn.00412590
cmp byte [esi + 0x114], 0
je 0x46c881
add esi, 4
jmp 0x46c883
mov esi, dword [esi]
mov eax, dword [esp + 0x150]
lea edx, [ebp + ebp]
push edx
push eax
add esi, 4
push esi
call fcn.004ff740
mov ecx, dword [esp + 0x2ac]
mov dword [edi + 0x128], ecx
mov edx, dword [esp + 0x2b0]
mov dword [edi + 0x12c], edx
mov eax, dword [esp + 0x2b4]
mov edx, dword [esp + 0x16c]
mov dword [edi + 0x130], eax
mov ecx, dword [esp + 0x2b8]
add esp, 0xc
mov dword [edi + 0x134], ecx
push edx
mov edx, dword [esp + 0x158]
mov ecx, ebx
call fcn.0046ca30
add esp, 0x140
cmp byte [esp + 0x158], 0
mov dword [esp + 0x3c], vtable.t_str.0
jne 0x46c913
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x48]
cmp eax, ecx
je 0x46c913
push eax
call fcn.004faac5
add esp, 4
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret