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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x3c
mov esi, dword [ecx]
mov dword [esp + 0x20], ecx
mov ecx, dword [ecx + 4]
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
mov eax, ecx
sub eax, esi
sub ebx, esi
sar eax, 4
imul eax, eax, 0xba2e8ba3
test eax, eax
je 0x7a4f00
lea edx, [eax + eax]
mov ebp, 0xffffffd0
cmp eax, edx
jbe 0x7a4f10
mov dword [esp], ebp
call sym.operator_new_unsigned_int_
mov ecx, dword [esp + 0x20]
add ebp, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], ebp
lea ebp, [eax + 0xb0]
mov esi, dword [ecx]
mov ecx, dword [ecx + 4]
add ebx, dword [esp + 0x1c]
je 0x7a491c
mov edx, dword [edi]
mov dword [ebx], edx
movzx edx, byte [edi + 4]
mov byte [ebx + 4], dl
mov edx, dword [edi + 8]
mov dword [ebx + 8], edx
mov edx, dword [edi + 0xc]
mov dword [ebx + 0xc], edx
mov edx, dword [edi + 0x10]
mov dword [ebx + 0x10], edx
movzx edx, byte [edi + 0x14]
mov byte [ebx + 0x14], dl
mov edx, dword [edi + 0x18]
mov dword [ebx + 0x18], edx
mov edx, dword [edi + 0x1c]
mov dword [edi + 0x1c], 0
mov dword [ebx + 0x1c], edx
mov edx, dword [edi + 0x20]
mov dword [edi + 0x20], 0
mov dword [ebx + 0x20], edx
mov edx, dword [edi + 0x24]
mov dword [edi + 0x24], 0
mov dword [ebx + 0x24], edx
mov edx, dword [edi + 0x28]
mov dword [edi + 0x28], 0
mov dword [ebx + 0x28], edx
movzx edx, word [edi + 0x2c]
mov word [ebx + 0x2c], dx
mov edx, dword [edi + 0x30]
mov dword [ebx + 0x30], edx
mov edx, dword [edi + 0x34]
mov dword [ebx + 0x34], edx
mov edx, dword [edi + 0x38]
mov eax, dword [edi + 0x60]
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0
mov dword [ebx + 0x38], edx
mov edx, dword [edi + 0x3c]
mov dword [ebx + 0x60], eax
mov dword [edi + 0x3c], 0
mov dword [ebx + 0x3c], edx
mov edx, dword [edi + 0x40]
mov dword [edi + 0x40], 0
mov dword [ebx + 0x40], edx
mov edx, dword [edi + 0x44]
mov dword [edi + 0x44], 0
mov dword [ebx + 0x44], edx
mov edx, dword [edi + 0x48]
mov dword [edi + 0x48], 0
mov dword [ebx + 0x48], edx
mov edx, dword [edi + 0x4c]
mov dword [edi + 0x4c], 0
mov dword [ebx + 0x4c], edx
mov edx, dword [edi + 0x50]
mov dword [edi + 0x50], 0
mov dword [ebx + 0x50], edx
mov edx, dword [edi + 0x54]
mov dword [edi + 0x54], 0
mov dword [ebx + 0x54], edx
mov edx, dword [edi + 0x58]
mov dword [edi + 0x58], 0
mov dword [ebx + 0x58], edx
mov edx, dword [edi + 0x64]
mov dword [ebx + 0x64], edx
mov eax, dword [edi + 0x68]
mov edx, dword [edi + 0x6c]
mov dword [ebx + 0x68], eax
mov dword [ebx + 0x6c], edx
movzx edx, byte [edi + 0x70]
mov byte [ebx + 0x70], dl
mov edx, dword [edi + 0x74]
mov dword [ebx + 0x74], edx
mov edx, dword [edi + 0x78]
mov dword [edi + 0x78], 0
mov dword [ebx + 0x78], edx
mov edx, dword [edi + 0x7c]
mov dword [edi + 0x7c], 0
mov dword [ebx + 0x7c], edx
mov edx, dword [edi + 0x80]
mov dword [edi + 0x80], 0
mov dword [ebx + 0x80], edx
mov edx, dword [edi + 0x84]
mov dword [edi + 0x84], 0
mov dword [ebx + 0x84], edx
movzx edx, word [edi + 0x88]
mov word [ebx + 0x88], dx
movzx edx, byte [edi + 0x8c]
mov byte [ebx + 0x8c], dl
mov edx, dword [edi + 0x90]
mov dword [ebx + 0x90], edx
mov edx, dword [edi + 0x94]
mov dword [edi + 0x94], 0
mov dword [ebx + 0x94], edx
mov edx, dword [edi + 0x98]
mov dword [edi + 0x98], 0
mov dword [ebx + 0x98], edx
mov edx, dword [edi + 0x9c]
mov dword [edi + 0x9c], 0
mov dword [ebx + 0x9c], edx
mov edx, dword [edi + 0xa0]
mov dword [edi + 0xa0], 0
mov dword [ebx + 0xa0], edx
movzx edx, word [edi + 0xa4]
mov word [ebx + 0xa4], dx
mov edx, dword [edi + 0xa8]
mov dword [ebx + 0xa8], edx
cmp dword [esp + 0x50], esi
je 0x7a4f40
mov ebp, dword [esp + 0x50]
lea ebx, [esi + 0xb0]
mov edx, dword [esp + 0x1c]
mov eax, esi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ebx
sub ebp, ebx
shr ebp, 4
imul ebp, ebp, 0xa2e8ba3
and ebp, 0xfffffff
lea edi, [ebp + 1]
imul edi, edi, 0xb0
add edi, edx
lea esi, [esi]
test edx, edx
je 0x7a4f80
mov ecx, dword [eax]
add edx, 0xb0
add eax, 0xb0
mov dword [edx - 0xb0], ecx
movzx ecx, byte [eax - 0xac]
mov byte [edx - 0xac], cl
mov ecx, dword [eax - 0xa8]
mov dword [edx - 0xa8], ecx
mov ecx, dword [eax - 0xa4]
mov dword [edx - 0xa4], ecx
mov ecx, dword [eax - 0xa0]
mov dword [edx - 0xa0], ecx
movzx ecx, byte [eax - 0x9c]
mov byte [edx - 0x9c], cl
mov ecx, dword [eax - 0x98]
mov dword [edx - 0x98], ecx
mov ecx, dword [eax - 0x94]
mov dword [edx - 0x94], ecx
mov ecx, dword [eax - 0x90]
mov dword [edx - 0x90], ecx
mov ecx, dword [eax - 0x8c]
mov dword [eax - 0x94], 0
mov dword [eax - 0x90], 0
mov dword [edx - 0x8c], ecx
mov ecx, dword [eax - 0x88]
mov dword [edx - 0x88], ecx
movzx ecx, word [eax - 0x84]
mov dword [eax - 0x8c], 0
mov dword [eax - 0x88], 0
mov word [edx - 0x84], cx
mov ecx, dword [eax - 0x80]
mov dword [edx - 0x80], ecx
mov ecx, dword [eax - 0x7c]
mov dword [edx - 0x7c], ecx
mov ecx, dword [eax - 0x78]
mov ebx, dword [eax - 0x4c]
mov dword [edx - 0x78], ecx
mov ecx, dword [eax - 0x74]
mov dword [eax - 0x7c], 0
mov dword [eax - 0x78], 0
mov dword [edx - 0x74], ecx
mov ecx, dword [eax - 0x70]
mov dword [edx - 0x70], ecx
mov ecx, dword [eax - 0x6c]
mov dword [eax - 0x74], 0
mov dword [eax - 0x70], 0
mov dword [edx - 0x6c], ecx
mov ecx, dword [eax - 0x68]
mov dword [edx - 0x68], ecx
mov ecx, dword [eax - 0x64]
mov dword [eax - 0x6c], 0
mov dword [eax - 0x68], 0
mov dword [edx - 0x64], ecx
mov ecx, dword [eax - 0x60]
mov dword [edx - 0x60], ecx
mov ecx, dword [eax - 0x5c]
mov dword [eax - 0x64], 0
mov dword [eax - 0x60], 0
mov dword [edx - 0x5c], ecx
mov ecx, dword [eax - 0x58]
mov dword [edx - 0x58], ecx
mov ecx, dword [eax - 0x50]
mov dword [eax - 0x5c], 0
mov dword [eax - 0x58], 0
mov dword [edx - 0x4c], ebx
mov dword [edx - 0x50], ecx
mov ecx, dword [eax - 0x48]
mov ebx, dword [eax - 0x44]
mov dword [edx - 0x48], ecx
movzx ecx, byte [eax - 0x40]
mov dword [edx - 0x44], ebx
mov byte [edx - 0x40], cl
mov ecx, dword [eax - 0x3c]
mov dword [edx - 0x3c], ecx
mov ecx, dword [eax - 0x38]
mov dword [edx - 0x38], ecx
mov ecx, dword [eax - 0x34]
mov dword [edx - 0x34], ecx
mov ecx, dword [eax - 0x30]
mov dword [eax - 0x38], 0
mov dword [eax - 0x34], 0
mov dword [edx - 0x30], ecx
mov ecx, dword [eax - 0x2c]
mov dword [edx - 0x2c], ecx
movzx ecx, word [eax - 0x28]
mov dword [eax - 0x30], 0
mov dword [eax - 0x2c], 0
mov word [edx - 0x28], cx
movzx ecx, byte [eax - 0x24]
mov byte [edx - 0x24], cl
mov ecx, dword [eax - 0x20]
mov dword [edx - 0x20], ecx
mov ecx, dword [eax - 0x1c]
mov dword [edx - 0x1c], ecx
mov ecx, dword [eax - 0x18]
mov dword [edx - 0x18], ecx
mov dword [eax - 0x1c], 0
mov dword [eax - 0x18], 0
mov ecx, dword [eax - 0x14]
mov dword [edx - 0x14], ecx
mov ecx, dword [eax - 0x10]
mov dword [edx - 0x10], ecx
movzx ecx, word [eax - 0xc]
mov dword [eax - 0x14], 0
mov dword [eax - 0x10], 0
mov word [edx - 0xc], cx
mov ecx, dword [eax - 8]
mov dword [edx - 8], ecx
cmp edi, edx
jne 0x7a4960
imul ebp, ebp, 0xb0
mov ecx, dword [esp + 0x28]
cmp dword [esp + 0x50], ecx
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2c]
lea ebp, [eax + ebp + 0x160]
je 0x7a4f50
mov edx, dword [esp + 0x50]
mov edi, ecx
mov dword [esp + 0x28], ecx
mov eax, ebp
lea ebx, [edx + 0xb0]
sub edi, ebx
shr edi, 4
imul edi, edi, 0xa2e8ba3
and edi, 0xfffffff
add edi, 1
imul edi, edi, 0xb0
add edi, ebp
lea esi, [esi]
test eax, eax
je 0x7a4f60
mov ebx, dword [edx]
add eax, 0xb0
add edx, 0xb0
mov dword [eax - 0xb0], ebx
movzx ebx, byte [edx - 0xac]
mov byte [eax - 0xac], bl
mov ebx, dword [edx - 0xa8]
mov dword [eax - 0xa8], ebx
mov ebx, dword [edx - 0xa4]
mov dword [eax - 0xa4], ebx
mov ebx, dword [edx - 0xa0]
mov dword [eax - 0xa0], ebx
movzx ebx, byte [edx - 0x9c]
mov byte [eax - 0x9c], bl
mov ebx, dword [edx - 0x98]
mov dword [eax - 0x98], ebx
mov ebx, dword [edx - 0x94]
mov dword [edx - 0x94], 0
mov dword [eax - 0x94], ebx
mov ebx, dword [edx - 0x90]
mov dword [edx - 0x90], 0
mov dword [eax - 0x90], ebx
mov ebx, dword [edx - 0x8c]
mov dword [edx - 0x8c], 0
mov dword [eax - 0x8c], ebx
mov ebx, dword [edx - 0x88]
mov dword [edx - 0x88], 0
mov dword [eax - 0x88], ebx
movzx ebx, word [edx - 0x84]
mov word [eax - 0x84], bx
mov ebx, dword [edx - 0x80]
mov dword [eax - 0x80], ebx
mov ebx, dword [edx - 0x7c]
mov dword [eax - 0x7c], ebx
mov ebx, dword [edx - 0x78]
mov ecx, dword [edx - 0x50]
mov dword [edx - 0x7c], 0
mov dword [edx - 0x78], 0
mov dword [eax - 0x78], ebx
mov ebx, dword [edx - 0x74]
mov dword [eax - 0x50], ecx
mov dword [edx - 0x74], 0
mov dword [eax - 0x74], ebx
mov ebx, dword [edx - 0x70]
mov dword [edx - 0x70], 0
mov dword [eax - 0x70], ebx
mov ebx, dword [edx - 0x6c]
mov dword [edx - 0x6c], 0
mov dword [eax - 0x6c], ebx
mov ebx, dword [edx - 0x68]
mov dword [edx - 0x68], 0
mov dword [eax - 0x68], ebx
mov ebx, dword [edx - 0x64]
mov dword [edx - 0x64], 0
mov dword [eax - 0x64], ebx
mov ebx, dword [edx - 0x60]
mov dword [edx - 0x60], 0
mov dword [eax - 0x60], ebx
mov ebx, dword [edx - 0x5c]
mov dword [edx - 0x5c], 0
mov dword [eax - 0x5c], ebx
mov ebx, dword [edx - 0x58]
mov dword [edx - 0x58], 0
mov dword [eax - 0x58], ebx
mov ebx, dword [edx - 0x4c]
mov dword [eax - 0x4c], ebx
mov ecx, dword [edx - 0x48]
mov ebx, dword [edx - 0x44]
mov dword [eax - 0x48], ecx
mov dword [eax - 0x44], ebx
movzx ebx, byte [edx - 0x40]
mov byte [eax - 0x40], bl
mov ebx, dword [edx - 0x3c]
mov dword [eax - 0x3c], ebx
mov ebx, dword [edx - 0x38]
mov dword [edx - 0x38], 0
mov dword [eax - 0x38], ebx
mov ebx, dword [edx - 0x34]
mov dword [edx - 0x34], 0
mov dword [eax - 0x34], ebx
mov ebx, dword [edx - 0x30]
mov dword [edx - 0x30], 0
mov dword [eax - 0x30], ebx
mov ebx, dword [edx - 0x2c]
mov dword [edx - 0x2c], 0
mov dword [eax - 0x2c], ebx
movzx ebx, word [edx - 0x28]
mov word [eax - 0x28], bx
movzx ebx, byte [edx - 0x24]
mov byte [eax - 0x24], bl
mov ebx, dword [edx - 0x20]
mov dword [eax - 0x20], ebx
mov ebx, dword [edx - 0x1c]
mov dword [edx - 0x1c], 0
mov dword [eax - 0x1c], ebx
mov ebx, dword [edx - 0x18]
mov dword [edx - 0x18], 0
mov dword [eax - 0x18], ebx
mov ebx, dword [edx - 0x14]
mov dword [edx - 0x14], 0
mov dword [eax - 0x14], ebx
mov ebx, dword [edx - 0x10]
mov dword [edx - 0x10], 0
mov dword [eax - 0x10], ebx
movzx ebx, word [edx - 0xc]
mov word [eax - 0xc], bx
mov ebx, dword [edx - 8]
mov dword [eax - 8], ebx
cmp edi, eax
jne 0x7a4bc0
mov ecx, dword [esp + 0x28]
cmp ecx, esi
je 0x7a4ed2
lea ebx, [esi + 0xb0]
sub ecx, ebx
mov ebp, ecx
shr ebp, 4
imul ebp, ebp, 0xa2e8ba3
and ebp, 0xfffffff
add ebp, 1
imul ebp, ebp, 0xb0
add ebp, esi
jmp 0x7a4e18
mov dword [esp], eax
mov esi, ebx
call sym.operator_delete___void_
cmp ebx, ebp
je 0x7a4ecc
add ebx, 0xb0
mov eax, dword [esi + 0x9c]
test eax, eax
je 0x7a4e2a
mov dword [esp], eax
call sym.operator_delete___void_
mov eax, dword [esi + 0x94]
test eax, eax
je 0x7a4e3c
mov dword [esp], eax
call sym.operator_delete___void_
mov eax, dword [esi + 0x80]
test eax, eax
je 0x7a4e4e
mov dword [esp], eax
call sym.operator_delete___void_
mov eax, dword [esi + 0x78]
test eax, eax
je 0x7a4e5d
mov dword [esp], eax
call sym.operator_delete___void_
mov eax, dword [esi + 0x54]
test eax, eax
je 0x7a4e6c
mov dword [esp], eax
call sym.operator_delete___void_
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x7a4e7b
mov dword [esp], eax
call sym.operator_delete___void_
mov eax, dword [esi + 0x44]
test eax, eax
je 0x7a4e8a
mov dword [esp], eax
call sym.operator_delete___void_
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x7a4e99
mov dword [esp], eax
call sym.operator_delete___void_
mov eax, dword [esi + 0x34]
test eax, eax
je 0x7a4ea8
mov dword [esp], eax
call sym.operator_delete___void_
mov eax, dword [esi + 0x24]
test eax, eax
je 0x7a4eb7
mov dword [esp], eax
call sym.operator_delete___void_
mov eax, dword [esi + 0x1c]
test eax, eax
jne 0x7a4e00
cmp ebx, ebp
mov esi, ebx
jne 0x7a4e12
mov eax, dword [esp + 0x20]
mov esi, dword [eax]
test esi, esi
je 0x7a4ede
mov dword [esp], esi
call sym.operator_delete_void_
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov dword [eax + 4], edi
mov edi, dword [esp + 0x24]
mov dword [eax], esi
mov dword [eax + 8], edi
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret 8
mov edx, 1
imul ebp, edx, 0xb0
jmp 0x7a46ff
cmp edx, 0x1745d17
ja 0x7a46ff
test edx, edx
jne 0x7a4f05
mov ebp, 0xb0
mov dword [esp + 0x24], 0
mov dword [esp + 0x1c], 0
jmp 0x7a4720
cmp ecx, esi
mov edi, ebp
jne 0x7a4b8e
jmp 0x7a4ed2
mov edi, ebp
jmp 0x7a4ddd
add edx, 0xb0
cmp edi, 0xb0
je 0x7a4dcb
mov eax, 0xb0
jmp 0x7a4bc8
add eax, 0xb0
cmp edi, 0xb0
je 0x7a4b6b
mov edx, 0xb0
jmp 0x7a4968