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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
push ebx
push esi
mov esi, ecx
mov byte [esp + 0xf], 0
push edi
xor ecx, ecx
mov dword [esp + 0x14], esi
mov ebx, edx
mov dword [esp + 0x58], ecx
mov edi, dword [esi + 8]
xor edx, edx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], edx
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x34], edi
mov dword [esp + 0x5c], ecx
cmp dword [edi + 0x70], ecx
jg 0x4aaa7c
push edx
push edx
push edx
mov edx, 0x11
mov ecx, edi
call fcn.00443360
add esp, 0xc
mov dword [esp + 0x5c], eax
jmp 0x4aaa9f
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x11
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [ebp + 8]
xor ecx, ecx
mov edx, dword [ebp + 0x14]
xorps xmm0, xmm0
mov ebx, dword [ebx + 0x14]
mov dword [esp + 0x18], ecx
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0x48]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x2c], edx
movlpd qword [esp + 0x40], xmm0
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
add eax, ebx
mov dword [esp + 0x4c], eax
cmp ebx, eax
jae 0x4aac5b
mov eax, dword [esp + 0x44]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x20], eax
jmp 0x4aaaf6
mov edx, dword [esp + 0x2c]
mov eax, dword [edx]
or eax, dword [edx + 4]
mov ecx, dword [ebx]
mov dword [esp + 0x50], ecx
jne 0x4aab62
test byte [ebx + 0xa], 2
jne 0x4aab62
test byte [ecx + 4], 1
jne 0x4aab62
mov eax, dword [ebp + 8]
mov edx, ecx
lea ecx, [esp + 0x64]
mov byte [esp + 0x78], 3
mov dword [esp + 0x68], fcn.0045d6f0
mov dword [esp + 0x6c], 0x45d570
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x7c], eax
call fcn.00457870
cmp byte [esp + 0x78], 0
je 0x4aab62
mov edx, dword [esp + 0x50]
mov ecx, dword [esi]
push 0
push 0
call fcn.0045c240
mov edx, dword [esp + 0x44]
mov ecx, esi
push eax
call fcn.0045ba30
add esp, 0xc
mov dword [esp + 0x3c], eax
push dword [ebp + 0x10]
mov edx, dword [ebp + 8]
mov ecx, ebx
push dword [ebp + 0xc]
call fcn.004aa930
add esp, 8
test eax, eax
je 0x4aac40
mov edx, dword [ebx + 0x1c]
xor esi, esi
cmp edx, 0x40
jl 0x4aab91
mov dword [esp + 0x28], 0x80000000
jmp 0x4aabaa
mov eax, edx
xor ecx, ecx
bts esi, eax
cmp eax, 0x20
cmovae ecx, esi
xor esi, ecx
cmp eax, 0x40
cmovae ecx, esi
mov dword [esp + 0x28], ecx
cmp byte [esp + 0x13], 0
jne 0x4aabd6
mov ecx, dword [esp + 0x30]
add edx, edx
mov eax, dword [ecx + 4]
push dword [eax + edx*8]
push dword [ecx]
push str.automatic_index_on__s__s_
push 0x11c
call fcn.0041f8b0
add esp, 0x10
mov byte [esp + 0x13], 1
mov eax, dword [esp + 0x28]
mov ecx, esi
mov edx, dword [esp + 0x24]
and eax, edx
and ecx, dword [esp + 0x20]
or ecx, eax
jne 0x4aac3a
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
inc eax
push eax
mov ecx, dword [ecx]
mov dword [esp + 0x54], eax
call fcn.004abb80
add esp, 4
test eax, eax
jne 0x4ab53b
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
or dword [esp + 0x20], esi
mov eax, dword [eax + 0x30]
or edx, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x24], edx
mov dword [eax + ecx*4], ebx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x18], ecx
jmp 0x4aac48
mov esi, dword [esp + 0x14]
jmp 0x4aac44
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
add ebx, 0x30
cmp ebx, dword [esp + 0x4c]
jb 0x4aaaf2
mov ebx, dword [esp + 0x20]
jmp 0x4aac63
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
movzx eax, cx
not edx
mov ecx, dword [esp + 0x2c]
or edx, 0x80000000
not ebx
xor esi, esi
mov word [ecx + 0x28], ax
mov word [ecx + 0x18], ax
mov eax, dword [ebp + 8]
mov dword [ecx + 0x24], 0x4241
and edx, dword [eax + 0x3c]
mov ecx, dword [eax + 0x38]
and ebx, ecx
mov eax, dword [esp + 0x30]
mov dword [esp + 0x24], edx
mov edx, 0x3f
mov dword [esp + 0x20], ebx
mov dword [esp + 0x48], ecx
movzx eax, word [eax + 0x2a]
movsx ebx, ax
mov dword [esp + 0x50], ebx
cmp dx, ax
jge 0x4aacbb
mov dword [esp + 0x28], edx
jmp 0x4aacc9
mov eax, ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x28], eax
test eax, eax
jle 0x4aad03
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [esp + 0x20]
and ecx, ebx
or edx, ecx
je 0x4aacf6
inc dword [esp + 0x18]
inc esi
cmp esi, edi
jl 0x4aacd1
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
mov eax, dword [ebp + 8]
cmp dword [eax + 0x3c], 0
jg 0x4aad21
jl 0x4aad12
test ecx, ecx
jae 0x4aad21
mov eax, dword [esp + 0x18]
add eax, 0xffffffc1
add eax, ebx
mov dword [esp + 0x18], eax
jmp 0x4aad25
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
movzx eax, ax
inc eax
movzx eax, ax
mov esi, dword [ebx]
mov dword [esp + 0x40], eax
cwde
lea ecx, [eax*4 + 7]
lea eax, [eax + eax*4]
and ecx, 0xfffffff8
add eax, 9
mov dword [esp + 0x48], ecx
and eax, 0xfffffff8
add eax, 0x48
add eax, ecx
mov dword [esp + 0x50], eax
cdq
push edx
push eax
test esi, esi
je 0x4aad6d
mov ecx, esi
call fcn.0041ca80
mov esi, eax
mov dword [esp + 0x24], esi
jmp 0x4aad78
call fcn.0041c400
mov esi, eax
mov dword [esp + 0x24], eax
add esp, 8
test esi, esi
je 0x4ab53f
push dword [esp + 0x50]
push 0
push esi
call fcn.004f13c0
mov edx, dword [esp + 0x4c]
lea eax, [esi + 0x48]
mov dword [esi + 0x20], eax
lea edi, [esi + 4]
add eax, dword [esp + 0x54]
add esp, 0xc
mov dword [esi + 8], eax
xorps xmm0, xmm0
movsx ecx, dx
mov word [esi + 0x34], dx
mov edx, edi
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x34]
lea eax, [eax + ecx*2]
movlpd qword [esp + 0x40], xmm0
add eax, 2
mov dword [esp + 0x48], edx
mov dword [esi + 4], eax
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x18]
mov dword [esi + 0x1c], eax
movzx eax, cx
mov word [esi + 0x32], ax
mov eax, dword [esp + 0x2c]
mov dword [eax + 0x20], esi
mov eax, dword [esp + 0x30]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x54]
mov dword [esi], str.auto_index
xor esi, esi
mov eax, dword [eax + 0x14]
mov dword [esp + 0x60], eax
cmp eax, dword [esp + 0x4c]
jae 0x4aaf29
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x40], eax
push dword [ebp + 0x10]
mov edx, dword [ebp + 8]
mov ecx, edi
push dword [ebp + 0xc]
call fcn.004aa930
add esp, 8
test eax, eax
je 0x4aaf09
mov eax, dword [edi + 0x1c]
xor edx, edx
movzx ecx, ax
mov dword [esp + 0x60], ecx
cmp eax, 0x40
jl 0x4aae58
mov ebx, 0x80000000
jmp 0x4aae6b
xor ebx, ebx
bts edx, eax
cmp eax, 0x20
cmovae ebx, edx
xor edx, ebx
cmp eax, 0x40
cmovae ebx, edx
mov ecx, edx
mov eax, ebx
and ecx, dword [esp + 0x40]
and eax, dword [esp + 0x48]
or ecx, eax
jne 0x4aaf05
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
or dword [esp + 0x40], edx
mov edx, dword [esp + 0x60]
mov eax, dword [eax + 4]
or dword [esp + 0x48], ebx
mov word [eax + esi*2], dx
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x60], eax
test dword [edx + 4], 0x100
je 0x4aaeb1
mov ebx, dword [esp + 0x14]
jmp 0x4aaed9
test eax, eax
je 0x4aaec6
test dword [eax + 4], 0x100
je 0x4aaec6
mov ebx, dword [esp + 0x14]
mov edx, eax
jmp 0x4aaed9
mov ebx, dword [esp + 0x14]
mov ecx, ebx
call fcn.0045a970
test eax, eax
jne 0x4aaee4
mov edx, dword [esp + 0x60]
mov ecx, ebx
call fcn.0045a970
test eax, eax
je 0x4aaef3
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0x20]
mov dword [eax + esi*4], ecx
inc esi
jmp 0x4aaf0d
mov edx, dword [esp + 0x1c]
mov ecx, 0x561a04
mov eax, dword [edx + 0x20]
mov dword [eax + esi*4], ecx
inc esi
jmp 0x4aaf0d
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
add edi, 0x30
cmp edi, dword [esp + 0x4c]
jb 0x4aae25
mov edi, dword [esp + 0x34]
lea ecx, [edx + 4]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x48], ecx
cmp dword [esp + 0x28], 0
jle 0x4aaf83
mov edi, dword [esp + 0x48]
xor ebx, ebx
xor edx, edx
xor ecx, ecx
mov eax, ebx
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [esp + 0x20]
and ecx, dword [esp + 0x24]
or edx, ecx
je 0x4aaf6e
mov eax, dword [edi]
mov word [eax + esi*2], bx
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x20]
mov dword [eax + esi*4], 0x561a04
inc esi
mov edx, dword [esp + 0x50]
inc ebx
mov edi, edx
cmp ebx, dword [esp + 0x28]
jl 0x4aaf36
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x14]
mov eax, dword [ebp + 8]
cmp dword [eax + 0x3c], 0
jg 0x4aafd2
jl 0x4aaf94
cmp dword [eax + 0x38], 0
jae 0x4aafd2
mov eax, dword [esp + 0x30]
mov ecx, 0x3f
cmp cx, word [eax + 0x2a]
jge 0x4aafd2
mov edi, dword [esp + 0x1c]
mov ebx, eax
nop dword [eax]
mov eax, dword [edx]
mov word [eax + esi*2], cx
inc ecx
mov eax, dword [edi + 0x20]
mov dword [eax + esi*4], 0x561a04
inc esi
movsx eax, word [ebx + 0x2a]
cmp ecx, eax
jl 0x4aafb0
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x14]
mov eax, dword [edx]
or ecx, 0xffffffff
mov edx, dword [esp + 0x18]
inc edx
mov word [eax + esi*2], cx
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x14]
mov eax, dword [eax + 0x20]
mov dword [eax + esi*4], 0x561a04
mov eax, dword [ebx + 0x28]
mov dword [ecx + 8], eax
inc dword [ebx + 0x28]
mov eax, dword [ecx + 8]
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x60], eax
cmp dword [edi + 0x70], ecx
jg 0x4ab025
push 0
push edx
push eax
mov edx, 0x6f
mov ecx, edi
call fcn.00443360
lea eax, [edi + 0x68]
add esp, 0xc
mov dword [esp + 0x18], eax
jmp 0x4ab05e
mov ebx, dword [esp + 0x60]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
lea eax, [edi + 0x68]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x14]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx + 8]
mov ecx, ebx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x60], eax
call fcn.00475240
mov dword [esp + 0x50], eax
test eax, eax
je 0x4ab0ba
mov edx, dword [esp + 0x60]
mov ecx, dword [edx]
cmp byte [ecx + 0x51], 0
je 0x4ab09b
push eax
mov edx, 0xfffffff7
call fcn.00444300
lea edx, [edi + 0x68]
add esp, 4
mov dword [esp + 0x18], edx
jmp 0x4ab0bd
mov eax, dword [edx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x68]
mov edx, dword [esp + 0x50]
mov dword [eax + ecx*4 - 4], edx
lea edx, [edi + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf7
mov dword [esp + 0x18], edx
jmp 0x4ab0bd
lea edx, [edi + 0x68]
mov eax, dword [ebp + 0x14]
movzx eax, byte [eax + 0x34]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 0x30], 0x10
lea eax, [eax + ecx*8]
mov dword [esp + 0x54], eax
je 0x4ab1ef
mov ecx, dword [edi + 0x6c]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x30], eax
mov dword [esp + 0x58], ecx
cmp dword [edi + 0x70], ecx
jg 0x4ab114
push 0
push 0
push 0
mov edx, 0x46
mov ecx, edi
call fcn.00443360
mov edx, dword [esp + 0x24]
add esp, 0xc
mov dword [esp + 0x58], eax
jmp 0x4ab14a
mov ebx, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx]
mov dword [eax + ecx*4], 0x46
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x54]
mov ecx, dword [edi + 0x6c]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x60], eax
cmp dword [edi + 0x70], ecx
jg 0x4ab175
push eax
push 0
push dword [esp + 0x38]
mov edx, 0xd
mov ecx, edi
call fcn.00443360
add esp, 0xc
jmp 0x4ab1a7
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx]
mov edx, dword [esp + 0x30]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x60]
mov dword [eax + ecx*4], 0xd
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [edi + 0x6c]
mov dword [esp + 0x34], edx
cmp dword [edi + 0x70], edx
jg 0x4ab1d3
push 0
push 0
push dword [esp + 0x38]
mov edx, 0xe
mov ecx, edi
call fcn.00443360
add esp, 0xc
mov dword [esp + 0x34], eax
jmp 0x4ab255
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0xe
jmp 0x4ab239
mov eax, dword [ebp + 0x14]
mov edx, dword [edi + 0x6c]
mov dword [esp + 0x34], edx
mov eax, dword [eax + 4]
mov dword [esp + 0x60], eax
cmp dword [edi + 0x70], edx
jg 0x4ab21f
push 0
push 0
push eax
mov edx, 0x24
mov ecx, edi
call fcn.00443360
add esp, 0xc
mov dword [esp + 0x34], eax
jmp 0x4ab255
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x60]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4ab27f
dec dword [ebx + 0x38]
mov ecx, dword [ebx + 0x38]
push 0x10
push ecx
push eax
push ebx
mov dword [esp + 0x48], ecx
call fcn.00463ac0
mov eax, dword [esp + 0x3c]
add esp, 0x10
or dword [eax + 0x24], 0x20000
mov al, byte [ebx + 0x13]
test al, al
jne 0x4ab28e
inc dword [ebx + 0x2c]
mov eax, dword [ebx + 0x2c]
jmp 0x4ab29d
dec al
mov byte [ebx + 0x13], al
movzx eax, al
mov eax, dword [ebx + eax*4 + 0x94]
mov edx, dword [esp + 0x1c]
mov ecx, ebx
push 0
push 0
push 0
push 0
push eax
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x14]
push dword [eax + 4]
call fcn.00478260
mov ecx, dword [edi + 0x6c]
add esp, 0x18
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 8]
mov dword [esp + 0x60], eax
cmp dword [edi + 0x70], ecx
jg 0x4ab2f0
push 0
push dword [esp + 0x34]
mov edx, 0x84
mov ecx, edi
push eax
call fcn.00443360
mov edx, dword [esp + 0x24]
add esp, 0xc
jmp 0x4ab32a
mov edx, dword [esp + 0x18]
lea eax, [ecx + 1]
mov ebx, dword [esp + 0x60]
lea ecx, [ecx + ecx*4]
mov dword [edi + 0x6c], eax
mov eax, dword [edx]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x14]
mov dword [eax + ecx*4], 0x84
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
test ecx, ecx
jle 0x4ab343
mov eax, dword [edx]
lea ecx, [ecx + ecx*4]
mov edx, 0x10
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [edi + 0x6c]
cmp dword [esp + 0x3c], 0
je 0x4ab377
mov edx, dword [edi + 0xc]
not dword [esp + 0x38]
mov eax, dword [edx + 0x3c]
add eax, dword [edx + 0x38]
jns 0x4ab36d
mov edx, dword [esp + 0x38]
mov ecx, dword [edi + 0xc]
push edx
mov edx, edi
call fcn.00443d20
add esp, 4
jmp 0x4ab377
mov eax, dword [edx + 0x40]
mov edx, dword [esp + 0x38]
mov dword [eax + edx*4], ecx
mov edx, dword [esp + 0x54]
test byte [edx + 0x30], 0x10
je 0x4ab43e
mov ecx, dword [esp + 0x58]
test ecx, ecx
jns 0x4ab391
mov ecx, dword [edi + 0x6c]
dec ecx
mov eax, dword [edi]
cmp byte [eax + 0x51], 0
je 0x4ab3a0
mov ecx, 0x57bbe8
jmp 0x4ab3ac
mov eax, dword [esp + 0x18]
lea ecx, [ecx + ecx*4]
mov eax, dword [eax]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x50]
add eax, esi
mov esi, dword [esp + 0x34]
mov dword [ecx + 8], eax
mov ecx, ebx
mov eax, dword [ebp + 0x14]
push dword [eax + 8]
push dword [edx + 0x28]
mov edx, esi
push dword [eax + 4]
call fcn.004aa890
mov ecx, dword [edi + 0x6c]
add esp, 0xc
cmp dword [edi + 0x70], ecx
jg 0x4ab3fe
push 0
push esi
push 0
mov edx, 0xb
mov ecx, edi
call fcn.00443360
mov eax, dword [esp + 0x60]
add esp, 0xc
mov edx, dword [esp + 0x18]
and dword [eax + 0x30], 0xffffffef
jmp 0x4ab4a9
mov edx, dword [esp + 0x18]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x54]
and dword [eax + 0x30], 0xffffffef
jmp 0x4ab4a9
mov edx, dword [ebp + 0x14]
mov esi, dword [esp + 0x34]
mov ecx, dword [edi + 0x6c]
mov edx, dword [edx + 4]
lea eax, [esi + 1]
mov dword [esp + 0x60], edx
cmp dword [edi + 0x70], ecx
jg 0x4ab470
push 0
push eax
push edx
mov edx, 5
mov ecx, edi
call fcn.00443360
mov edx, dword [esp + 0x24]
add esp, 0xc
jmp 0x4ab4a9
mov edx, dword [esp + 0x18]
lea eax, [ecx + 1]
mov ebx, dword [esp + 0x60]
lea ecx, [ecx + ecx*4]
mov dword [edi + 0x6c], eax
mov eax, dword [edx]
mov dword [eax + ecx*4 + 4], ebx
lea ebx, [esi + 1]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x14]
mov dword [eax + ecx*4], 5
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x4ab4c3
lea ecx, [eax + eax*4]
mov ebx, 3
mov eax, dword [edx]
mov word [eax + ecx*4 - 0x12], bx
mov ebx, dword [esp + 0x14]
mov eax, dword [edi]
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x60], ecx
cmp byte [eax + 0x51], 0
je 0x4ab4d9
mov eax, 0x57bbe8
jmp 0x4ab4ed
lea eax, [ecx - 1]
test esi, esi
cmovns eax, esi
lea ecx, [eax + eax*4]
mov eax, dword [edx]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x60]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x4ab50c
mov al, byte [ebx + 0x13]
cmp al, 8
jae 0x4ab50c
movzx eax, al
mov dword [ebx + eax*4 + 0x94], ecx
inc byte [ebx + 0x13]
mov eax, dword [edi]
mov esi, dword [edi + 0x6c]
cmp byte [eax + 0x51], 0
je 0x4ab521
mov eax, 0x57bbe8
mov dword [eax + 8], esi
jmp 0x4ab53f
mov ecx, dword [esp + 0x5c]
lea eax, [esi - 1]
test ecx, ecx
cmovns eax, ecx
lea ecx, [eax + eax*4]
mov eax, dword [edx]
mov dword [eax + ecx*4 + 8], esi
lea eax, [eax + ecx*4]
jmp 0x4ab53f
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4ab550
mov ecx, dword [ebx]
mov edx, eax
call fcn.0045bfa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret