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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
mov eax, ecx
mov dword [esp + 0x44], edx
push ebx
push esi
mov dword [esp + 0x10], eax
xor ecx, ecx
mov esi, dword [eax + 8]
mov dword [esp + 0x50], ecx
push edi
mov byte [esp + 0x13], 0
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x88]
mov dword [esp + 0x30], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x28], esi
mov dword [esp + 0x60], ecx
cmp dword [eax + 0x30], ecx
jg 0x4b7229
push 0
push 0
push 0
mov edx, 0x14
mov ecx, esi
call fcn.0046bae0
mov edx, dword [esp + 0x5c]
add esp, 0xc
mov dword [esp + 0x60], eax
jmp 0x4b725f
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x58]
mov dword [eax + ecx*4], 0x14
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 ecx, dword [ebp + 8]
xor edi, edi
mov ebx, dword [edx + 0x14]
xorps xmm0, xmm0
mov dword [esp + 0x18], edi
movlpd qword [esp + 0x58], xmm0
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x3c], eax
mov eax, dword [edx + 0xc]
mov edx, dword [ebp + 0x14]
lea eax, [eax + eax*2]
mov edx, dword [edx + 0x40]
shl eax, 4
add eax, ebx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], eax
cmp ebx, eax
jae 0x4b740d
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x20], eax
jmp 0x4b72b4
mov edx, dword [esp + 0x2c]
mov eax, dword [edx]
or eax, dword [edx + 4]
mov edi, dword [ebx]
jne 0x4b731b
test byte [ebx + 0xa], 2
jne 0x4b731b
test byte [edi + 4], 1
jne 0x4b731b
mov eax, dword [ecx + 0x30]
mov edx, edi
lea ecx, [esp + 0x64]
mov byte [esp + 0x78], 3
mov dword [esp + 0x68], fcn.004824c0
mov dword [esp + 0x6c], 0x4825e0
mov dword [esp + 0x7c], eax
call fcn.0047e1b0
cmp byte [esp + 0x78], 0
je 0x4b731b
mov edx, edi
mov edi, dword [esp + 0x14]
push 0
push 0
mov ecx, dword [edi]
call fcn.004815a0
mov edx, dword [esp + 0x38]
mov ecx, dword [edi]
push eax
call fcn.004810d0
add esp, 0xc
mov dword [esp + 0x30], eax
push dword [ebp + 0x10]
mov edx, dword [ebp + 8]
mov ecx, ebx
push dword [ebp + 0xc]
call fcn.004b7130
add esp, 8
test eax, eax
je 0x4b73ef
mov edx, dword [ebx + 0x1c]
xor edi, edi
cmp edx, 0x40
jl 0x4b734a
mov dword [esp + 0x38], SysStringLen
jmp 0x4b7363
mov eax, edx
xor ecx, ecx
bts edi, eax
cmp eax, 0x20
cmovae ecx, edi
xor edi, ecx
cmp eax, 0x40
cmovae ecx, edi
mov dword [esp + 0x38], ecx
cmp byte [esp + 0x13], 0
jne 0x4b738f
mov ecx, dword [esp + 0x3c]
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.00450a20
add esp, 0x10
mov byte [esp + 0x13], 1
mov eax, dword [esp + 0x38]
mov ecx, edi
mov edx, dword [esp + 0x24]
and eax, edx
and ecx, dword [esp + 0x20]
or ecx, eax
jne 0x4b73f3
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x58], eax
push eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
call fcn.004b8170
add esp, 4
test eax, eax
jne 0x4b7cf3
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
or dword [esp + 0x20], edi
mov eax, dword [eax + 0x30]
or edx, dword [esp + 0x38]
mov dword [esp + 0x24], edx
mov dword [eax + ecx*4], ebx
mov eax, dword [esp + 0x58]
mov dword [esp + 0x18], eax
jmp 0x4b73f3
mov edx, dword [esp + 0x24]
mov ecx, dword [ebp + 8]
add ebx, 0x30
cmp ebx, dword [esp + 0x4c]
jb 0x4b72b0
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
jmp 0x4b7415
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x2c]
not edx
or edx, 0x80000000
not ebx
mov word [eax + 0x28], di
mov word [eax + 0x18], di
xor edi, edi
mov dword [eax + 0x24], 0x4241
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x40]
and ebx, ecx
mov eax, dword [eax + 0x44]
and edx, eax
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
movzx ebx, word [edx + 0x2a]
mov edx, 0x3f
mov dword [esp + 0x58], ebx
cmp dx, bx
jge 0x4b746d
mov dword [esp + 0x38], edx
jmp 0x4b7478
movsx edx, bx
mov dword [esp + 0x38], edx
test edx, edx
jle 0x4b74ba
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x24]
xor edx, edx
xor ecx, ecx
mov eax, edi
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 0x4b74a5
inc dword [esp + 0x18]
inc edi
cmp edi, esi
jl 0x4b7480
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
test eax, eax
jg 0x4b74d4
jl 0x4b74c4
test ecx, ecx
jae 0x4b74d4
mov ecx, dword [esp + 0x18]
movsx eax, bx
add ecx, 0xffffffc1
add ecx, eax
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x58]
mov ebx, dword [esp + 0x14]
push eax
push 0
lea edx, [edx + 1]
mov ecx, dword [ebx]
call fcn.0048ec70
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
je 0x4b7cf7
mov ecx, dword [esp + 0x2c]
xor ebx, ebx
mov edi, dword [esp + 0x50]
xorps xmm0, xmm0
movlpd qword [esp + 0x58], xmm0
mov dword [ecx + 0x20], eax
mov ecx, dword [esp + 0x3c]
mov dword [eax], str.auto_index
mov dword [eax + 0xc], ecx
mov edi, dword [edi + 0x14]
mov dword [esp + 0x34], edi
cmp edi, dword [esp + 0x4c]
jae 0x4b76ad
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x14]
mov edx, dword [ebp + 8]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x44], eax
nop word [eax + eax]
mov eax, dword [edi + 0x14]
cmp eax, dword [edx + 0x30]
jne 0x4b7698
movzx ecx, word [edi + 0xc]
test cl, 0x82
je 0x4b7698
test byte [edx + 0x24], 8
je 0x4b757f
mov eax, dword [edi]
test byte [eax + 4], 1
jne 0x4b757f
test cl, cl
js 0x4b7698
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
and ecx, dword [ebp + 0xc]
and eax, dword [ebp + 0x10]
or ecx, eax
jne 0x4b7698
mov ecx, dword [edi + 0x1c]
test ecx, ecx
js 0x4b7698
mov eax, dword [edx + 0x10]
add ecx, ecx
mov eax, dword [eax + 4]
mov al, byte [eax + ecx*8 + 0xd]
mov ecx, dword [edi]
mov byte [esp + 0x13], al
call fcn.00480540
movsx eax, al
sub eax, 0x41
je 0x4b75e0
sub eax, 1
je 0x4b75ce
xor eax, eax
cmp byte [esp + 0x13], 0x43
setge al
jmp 0x4b75d8
xor eax, eax
cmp byte [esp + 0x13], 0x42
sete al
test eax, eax
je 0x4b7695
mov ecx, dword [edi + 0x1c]
xor edi, edi
cmp ecx, 0x40
jl 0x4b75f1
mov eax, closesocket
jmp 0x4b7604
xor eax, eax
bts edi, ecx
cmp ecx, 0x20
cmovae eax, edi
xor edi, eax
cmp ecx, 0x40
cmovae eax, edi
mov ecx, edi
mov dword [esp + 0x58], eax
and ecx, dword [esp + 0x44]
and eax, dword [esp + 0x48]
or ecx, eax
jne 0x4b7691
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
or dword [esp + 0x44], edi
mov eax, dword [esp + 0x48]
or eax, dword [esp + 0x58]
mov edi, dword [esp + 0x34]
mov edx, dword [edx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x48], eax
mov ax, word [edi + 0x1c]
mov word [ecx + ebx*2], ax
mov eax, dword [edx + 0x10]
mov edx, dword [edx + 0xc]
mov dword [esp + 0x58], eax
test dword [edx + 4], 0x100
jne 0x4b7672
test eax, eax
je 0x4b7663
test dword [eax + 4], 0x100
je 0x4b7663
mov edx, eax
jmp 0x4b7672
mov ecx, esi
call fcn.004803c0
test eax, eax
jne 0x4b7682
mov edx, dword [esp + 0x58]
mov ecx, esi
call fcn.004803c0
mov ecx, 0x680194
test eax, eax
je 0x4b7684
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x20]
mov dword [eax + ebx*4], ecx
inc ebx
jmp 0x4b7695
mov edi, dword [esp + 0x34]
mov edx, dword [ebp + 8]
add edi, 0x30
mov dword [esp + 0x34], edi
cmp edi, dword [esp + 0x4c]
jb 0x4b7550
mov esi, dword [esp + 0x28]
xor edi, edi
cmp dword [esp + 0x38], edi
jle 0x4b7700
mov esi, dword [esp + 0x1c]
nop dword [eax]
xor edx, edx
xor ecx, ecx
mov eax, edi
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 0x4b76f5
mov eax, dword [esi + 4]
mov word [eax + ebx*2], di
mov eax, dword [esi + 0x20]
mov dword [eax + ebx*4], 0x680194
inc ebx
inc edi
cmp edi, dword [esp + 0x38]
jl 0x4b76c0
mov esi, dword [esp + 0x28]
mov eax, dword [ebp + 8]
cmp dword [eax + 0x44], 0
jg 0x4b7743
jl 0x4b7711
cmp dword [eax + 0x40], 0
jae 0x4b7743
mov edi, dword [esp + 0x3c]
mov eax, 0x3f
mov edx, dword [esp + 0x1c]
cmp ax, word [edi + 0x2a]
jge 0x4b7747
mov ecx, eax
mov eax, dword [edx + 4]
mov word [eax + ebx*2], cx
inc ecx
mov eax, dword [edx + 0x20]
mov dword [eax + ebx*4], 0x680194
inc ebx
movsx eax, word [edi + 0x2a]
cmp ecx, eax
jl 0x4b7726
jmp 0x4b7747
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 4]
or ecx, 0xffffffff
mov edi, dword [esp + 0x14]
mov word [eax + ebx*2], cx
mov eax, dword [edx + 0x20]
mov ecx, dword [ebp + 0x14]
mov edx, dword [esp + 0x18]
inc edx
mov dword [eax + ebx*4], 0x680194
mov eax, dword [edi + 0x28]
mov dword [ecx + 8], eax
inc dword [edi + 0x28]
mov eax, dword [ecx + 8]
mov ecx, dword [esi + 0x88]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x30], ecx
jg 0x4b779d
push 0
push edx
push dword [esp + 0x60]
mov edx, 0x6b
mov ecx, esi
call fcn.0046bae0
add esp, 0xc
jmp 0x4b77d3
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x58]
mov esi, dword [esp + 0x58]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x6b
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi + 8]
mov ecx, edi
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x58], eax
call fcn.00490f40
mov dword [esp + 0x4c], eax
test eax, eax
je 0x4b7822
mov edx, dword [esp + 0x58]
mov ecx, dword [edx]
cmp byte [ecx + 0x45], 0
je 0x4b7809
push eax
mov edx, 0xfffffff7
call fcn.0046c6c0
add esp, 4
jmp 0x4b7822
mov eax, dword [edx + 0x88]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x58]
mov edx, dword [esp + 0x4c]
mov byte [eax + ecx*4 - 0x13], 0xf7
mov dword [eax + ecx*4 - 4], edx
inc dword [edi + 0x3c]
mov edx, dword [ebp + 0x14]
movzx eax, byte [edx + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x50]
shl ecx, 4
mov eax, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [esi + 0xc]
add edi, 8
add edi, ecx
mov dword [esp + 0x50], edi
test byte [edi + 0x28], 0x10
je 0x4b7956
mov ecx, dword [esi + 0x88]
mov edx, dword [edi + 0x1c]
mov dword [esp + 0x58], edx
mov dword [esp + 0x54], ecx
cmp dword [eax + 0x30], ecx
jg 0x4b7886
push 0
push 0
push 0
mov edx, 0x38
mov ecx, esi
call fcn.0046bae0
mov edx, dword [esp + 0x64]
add esp, 0xc
mov dword [esp + 0x54], eax
jmp 0x4b78bc
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x58]
mov dword [eax + ecx*4], 0x38
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 [esi + 0xc]
mov ecx, dword [esi + 0x88]
mov edi, dword [edi + 0x18]
cmp dword [eax + 0x30], ecx
jg 0x4b78e6
push edi
push 0
push edx
mov edx, 0xf
mov ecx, esi
call fcn.0046bae0
mov edx, dword [esp + 0x64]
add esp, 0xc
jmp 0x4b7918
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x58]
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4], 0xf
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0xc]
mov edi, dword [esi + 0x88]
cmp dword [eax + 0x30], edi
jg 0x4b793e
push 0
push 0
push edx
mov edx, 0x10
mov ecx, esi
call fcn.0046bae0
add esp, 0xc
mov edi, eax
jmp 0x4b79b2
lea eax, [edi + 1]
mov dword [esi + 0x88], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x58]
mov dword [eax + ecx*4], 0x10
jmp 0x4b7992
mov edi, dword [esi + 0x88]
mov edx, dword [edx + 4]
cmp dword [eax + 0x30], edi
jg 0x4b797c
push 0
push 0
push edx
mov edx, 0x25
mov ecx, esi
call fcn.0046bae0
add esp, 0xc
mov edi, eax
jmp 0x4b79b2
lea eax, [edi + 1]
mov dword [esi + 0x88], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x58]
mov dword [eax + ecx*4], 0x25
mov esi, dword [esp + 0x28]
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
cmp dword [esp + 0x30], 0
je 0x4b7a28
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x58], ecx
mov edx, dword [ecx + 0x44]
mov dword [esp + 0x40], edx
lea eax, [edx + 1]
mov dword [ecx + 0x44], eax
lea eax, [edx - 1]
test edx, eax
jne 0x4b79f6
lea eax, [edx*8 + 4]
mov edx, dword [ecx + 0x48]
mov ecx, dword [ecx]
push 0
push eax
call fcn.0044ebb0
mov ecx, dword [esp + 0x60]
add esp, 8
mov edx, dword [esp + 0x40]
mov dword [ecx + 0x48], eax
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x4b7a04
mov dword [eax + edx*4], 0xffffffff
not edx
push 0x10
push edx
push dword [esp + 0x38]
mov dword [esp + 0x4c], edx
push dword [esp + 0x20]
call fcn.00486b70
mov eax, dword [esp + 0x3c]
add esp, 0x10
or dword [eax + 0x24], 0x20000
mov ecx, dword [esp + 0x14]
mov al, byte [ecx + 0x13]
test al, al
jne 0x4b7a3b
inc dword [ecx + 0x2c]
mov eax, dword [ecx + 0x2c]
jmp 0x4b7a4a
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov eax, dword [ecx + eax*4 + 0x15c]
mov edx, dword [ebp + 0x14]
push 0
push 0
push 0
push 0
push eax
push dword [edx + 4]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x54], eax
call fcn.00492ed0
mov ecx, dword [esi + 0xc]
add esp, 0x18
mov edx, dword [esi + 0x88]
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 8]
mov dword [esp + 0x58], eax
cmp dword [ecx + 0x30], edx
jg 0x4b7a9e
mov edx, dword [esp + 0x3c]
mov ecx, esi
push 0
push edx
push eax
mov edx, 0x7e
call fcn.0046bae0
add esp, 0xc
jmp 0x4b7ad4
lea eax, [edx + 1]
mov dword [esi + 0x88], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x58]
mov edx, dword [esp + 0x58]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + ecx*4], 0x7e
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x88]
test eax, eax
jle 0x4b7aee
lea ecx, [eax + eax*4]
mov edx, 0x10
mov eax, dword [esi + 0x58]
mov word [eax + ecx*4 - 0x12], dx
cmp dword [esp + 0x30], 0
je 0x4b7b14
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x4b7b14
mov eax, dword [esp + 0x40]
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [esi + 0x88]
mov dword [ecx], eax
mov eax, dword [esp + 0x50]
test byte [eax + 0x28], 0x10
je 0x4b7bd2
mov ecx, dword [esp + 0x54]
test ecx, ecx
jns 0x4b7b31
mov ecx, dword [esi + 0x88]
dec ecx
mov eax, dword [esi]
cmp byte [eax + 0x45], 0
je 0x4b7b40
mov ecx, 0x729e0c
jmp 0x4b7b49
mov eax, dword [esi + 0x58]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x4c]
mov edx, edi
add eax, ebx
mov ebx, dword [esp + 0x50]
mov dword [ecx + 8], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x14]
push 1
push dword [ebx + 0x20]
push dword [eax + 4]
call fcn.004b7080
mov eax, dword [esi + 0xc]
add esp, 0xc
mov ecx, dword [esi + 0x88]
cmp dword [eax + 0x30], ecx
jg 0x4b7b9a
push 0
push edi
push 0
mov edx, 0xd
mov ecx, esi
call fcn.0046bae0
add esp, 0xc
and dword [ebx + 0x28], 0xffffffef
jmp 0x4b7c2f
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x58]
mov dword [eax + ecx*4], 0xd
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
and dword [ebx + 0x28], 0xffffffef
jmp 0x4b7c2f
mov eax, dword [ebp + 0x14]
lea edx, [edi + 1]
mov ecx, dword [esi + 0x88]
mov ebx, dword [eax + 4]
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x30], ecx
jg 0x4b7bfe
push 0
push edx
push ebx
mov edx, 7
mov ecx, esi
call fcn.0046bae0
add esp, 0xc
jmp 0x4b7c2f
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x58]
lea edx, [edi + 1]
mov dword [eax + ecx*4], 7
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x88]
test eax, eax
jle 0x4b7c49
lea ecx, [eax + eax*4]
mov edx, 3
mov eax, dword [esi + 0x58]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esi + 0x88]
test edi, edi
jns 0x4b7c56
lea edi, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x45], 0
je 0x4b7c65
mov eax, 0x729e0c
jmp 0x4b7c6e
mov eax, dword [esi + 0x58]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov ebx, dword [esp + 0x14]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x3c]
test edx, edx
je 0x4b7cb4
mov al, byte [ebx + 0x13]
mov byte [esp + 0x13], al
cmp al, 8
jae 0x4b7cb4
movzx edi, byte [ebx + 0x19]
lea eax, [ebx + 0x94]
xor ecx, ecx
test edi, edi
je 0x4b7ca5
cmp dword [eax + 0xc], edx
je 0x4b7cde
inc ecx
add eax, 0x14
cmp ecx, edi
jl 0x4b7c98
movzx eax, byte [esp + 0x13]
mov dword [ebx + eax*4 + 0x15c], edx
inc byte [ebx + 0x13]
mov ecx, ebx
call fcn.00484f40
mov ecx, dword [esp + 0x60]
mov edx, dword [esi + 0x88]
test ecx, ecx
jns 0x4b7ccc
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x45], 0
je 0x4b7ce4
mov eax, 0x729e0c
mov dword [eax + 8], edx
jmp 0x4b7cf7
mov byte [eax + 6], 1
jmp 0x4b7cb4
mov eax, dword [esi + 0x58]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x4b7cf7
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4b7d08
mov ecx, dword [ebx]
mov edx, eax
call fcn.004813b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret