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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x98
mov eax, dword [0x517748]
xor eax, esp
mov dword [esp + 0x94], eax
mov eax, ecx
mov byte [esp + 7], 0
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x44], ecx
xor ecx, ecx
push esi
mov esi, edx
mov dword [esp + 0x10], eax
mov eax, dword [eax + 8]
push edi
mov edi, dword [ebp + 8]
lea edx, [ecx + 0x14]
mov dword [esp + 0x64], ecx
mov ecx, eax
mov dword [esp + 0x50], esi
mov dword [esp + 0x30], edi
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x10], eax
call fcn.00460d00
mov edx, dword [esp + 0x4c]
xorps xmm0, xmm0
mov esi, dword [esi + 0x14]
mov dword [esp + 0x6c], eax
mov eax, dword [edi + 0x10]
mov ecx, dword [edx + 0x40]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x50]
movlpd qword [esp + 0x18], xmm0
mov edx, dword [esp + 0x18]
mov dword [esp + 0x54], ecx
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x34], 0
lea eax, [eax + eax*2]
shl eax, 4
add eax, esi
mov dword [esp + 0x3c], eax
cmp esi, eax
jae 0x4b0cfe
mov dword [esp + 0x28], ecx
mov dword [esp + 0x38], edx
jmp 0x4b0af0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x54]
mov edi, dword [esi]
mov eax, dword [eax]
or eax, dword [ecx + 4]
mov ecx, dword [esp + 0x28]
jne 0x4b0ba1
test byte [esi + 0xa], 2
jne 0x4b0ba1
test byte [edi + 4], 1
jne 0x4b0ba1
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x70]
xorps xmm0, xmm0
mov dword [esp + 0x88], 0
movdqa xmmword [esp + 0x70], xmm0
mov edx, edi
movq qword [esp + 0x80], xmm0
mov eax, dword [eax + 0x30]
mov byte [esp + 0x84], 3
mov dword [esp + 0x74], 0x477ca0
mov dword [esp + 0x78], 0x477d90
mov dword [esp + 0x88], eax
call fcn.00473230
cmp byte [esp + 0x84], 0
je 0x4b0b99
mov edx, edi
mov edi, dword [esp + 0x14]
push 0
push 0
mov ecx, dword [edi]
call fcn.00476c20
mov edx, dword [esp + 0x64]
mov ecx, dword [edi]
push eax
call fcn.00476670
add esp, 0xc
mov dword [esp + 0x5c], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
mov eax, dword [esi + 0x14]
cmp eax, dword [edi + 0x30]
jne 0x4b0cf1
test byte [esi + 0xc], 0x82
je 0x4b0cf1
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
and ecx, dword [ebp + 0xc]
and eax, dword [ebp + 0x10]
or ecx, eax
jne 0x4b0ce3
mov ecx, dword [esi + 0x1c]
test ecx, ecx
js 0x4b0ce3
mov eax, dword [edi + 0x10]
add ecx, ecx
mov eax, dword [eax + 4]
mov al, byte [eax + ecx*8 + 0xd]
mov ecx, dword [esi]
mov byte [esp + 0x2f], al
call fcn.00475840
movsx eax, al
sub eax, 0x41
je 0x4b0c1a
dec eax
je 0x4b0c08
xor eax, eax
cmp byte [esp + 0x2f], 0x43
setge al
jmp 0x4b0c12
xor eax, eax
cmp byte [esp + 0x2f], 0x42
sete al
test eax, eax
je 0x4b0cd9
mov edx, dword [esi + 0x1c]
xor edi, edi
cmp edx, 0x40
jl 0x4b0c2e
mov dword [esp + 0x44], closesocket
jmp 0x4b0c47
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 + 0x44], ecx
cmp byte [esp + 0xf], 0
jne 0x4b0c73
mov ecx, dword [esp + 0x24]
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.00443bc0
add esp, 0x10
mov byte [esp + 0xf], 1
mov eax, dword [esp + 0x44]
mov ecx, edi
mov edx, dword [esp + 0x38]
and ecx, edx
and eax, dword [esp + 0x28]
or ecx, eax
jne 0x4b0ce9
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x54]
inc eax
mov dword [esp + 0x18], eax
push eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
call fcn.004b1b60
add esp, 4
test eax, eax
jne 0x4b164f
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
or edx, edi
mov eax, dword [eax + 0x30]
mov dword [esp + 0x38], edx
mov dword [eax + ecx*4], esi
mov ecx, dword [esp + 0x28]
or ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x34], eax
mov dword [esp + 0x28], ecx
jmp 0x4b0ced
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x38]
jmp 0x4b0cf1
mov ecx, dword [esp + 0x28]
jmp 0x4b0cf1
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
add esi, 0x30
cmp esi, dword [esp + 0x3c]
jb 0x4b0af0
mov esi, dword [esp + 0x54]
not ecx
mov eax, dword [esp + 0x34]
not edx
or ecx, 0x80000000
mov word [esi + 0x28], ax
mov word [esi + 0x18], ax
mov eax, dword [esp + 0x30]
mov dword [esi + 0x24], 0x4241
xor esi, esi
mov edi, dword [edi + 0x44]
and ecx, edi
mov dword [esp + 0x28], ecx
and edx, dword [eax + 0x40]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], edi
mov dword [esp + 0x38], edx
movzx ecx, word [eax + 0x22]
mov eax, 0x3f
mov dword [esp + 0x48], ecx
cmp ax, cx
jge 0x4b0d55
mov dword [esp + 0x44], eax
jmp 0x4b0d60
movsx eax, cx
mov dword [esp + 0x44], eax
test eax, eax
jle 0x4b0d98
mov edi, dword [esp + 0x44]
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 + 0x38]
and ecx, dword [esp + 0x28]
or edx, ecx
je 0x4b0d8b
inc dword [esp + 0x34]
inc esi
cmp esi, edi
jl 0x4b0d64
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x48]
and edi, 0x80000000
xor eax, eax
or eax, edi
je 0x4b0db6
movsx eax, cx
mov ecx, dword [esp + 0x34]
add ecx, 0xffffffc1
add ecx, eax
mov dword [esp + 0x34], ecx
jmp 0x4b0dba
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x18]
push eax
lea edx, [ecx + 1]
push 0
mov ecx, dword [edi]
call fcn.00486000
add esp, 8
mov dword [esp + 0x40], eax
test eax, eax
je 0x4b1653
mov ecx, dword [esp + 0x54]
xor edi, edi
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
mov dword [ecx + 0x20], eax
mov ecx, dword [esp + 0x24]
mov dword [eax], str.auto_index
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x50]
mov esi, dword [eax + 0x14]
mov dword [esp + 0x60], esi
cmp esi, dword [esp + 0x3c]
jae 0x4b0f73
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x68], eax
jmp 0x4b0e30
mov eax, dword [esi + 0x14]
cmp eax, dword [edx + 0x30]
jne 0x4b0f62
test byte [esi + 0xc], 0x82
je 0x4b0f62
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
and ecx, dword [ebp + 0xc]
and eax, dword [ebp + 0x10]
or ecx, eax
jne 0x4b0f62
mov ecx, dword [esi + 0x1c]
test ecx, ecx
js 0x4b0f62
mov eax, dword [edx + 0x10]
add ecx, ecx
mov eax, dword [eax + 4]
mov al, byte [eax + ecx*8 + 0xd]
mov ecx, dword [esi]
mov byte [esp + 0xf], al
call fcn.00475840
movsx eax, al
sub eax, 0x41
je 0x4b0ea5
dec eax
je 0x4b0e93
xor eax, eax
cmp byte [esp + 0xf], 0x43
setge al
jmp 0x4b0e9d
xor eax, eax
cmp byte [esp + 0xf], 0x42
sete al
test eax, eax
je 0x4b0f5e
mov ecx, dword [esi + 0x1c]
xor esi, esi
cmp ecx, 0x40
jl 0x4b0eb6
mov eax, closesocket
jmp 0x4b0ec9
xor eax, eax
bts esi, ecx
cmp ecx, 0x20
cmovae eax, esi
xor esi, eax
cmp ecx, 0x40
cmovae eax, esi
mov ecx, esi
mov dword [esp + 0x18], eax
and ecx, dword [esp + 0x68]
and eax, dword [esp + 0x48]
or ecx, eax
jne 0x4b0f5a
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x60]
or dword [esp + 0x68], esi
mov eax, dword [esp + 0x48]
or eax, dword [esp + 0x18]
mov esi, dword [esp + 0x60]
mov edx, dword [edx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x48], eax
mov ax, word [esi + 0x1c]
mov word [ecx + edi*2], ax
mov eax, dword [edx + 0x10]
mov edx, dword [edx + 0xc]
mov dword [esp + 0x18], eax
test dword [edx + 4], 0x100
jne 0x4b0f39
test eax, eax
je 0x4b0f28
test dword [eax + 4], 0x100
je 0x4b0f28
mov edx, eax
jmp 0x4b0f39
mov ecx, dword [esp + 0x14]
call fcn.004756e0
test eax, eax
jne 0x4b0f4b
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
call fcn.004756e0
mov ecx, 0x505638
test eax, eax
je 0x4b0f4d
mov ecx, dword [eax]
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x20]
mov dword [eax + edi*4], ecx
inc edi
jmp 0x4b0f5e
mov esi, dword [esp + 0x60]
mov edx, dword [esp + 0x30]
add esi, 0x30
mov dword [esp + 0x60], esi
cmp esi, dword [esp + 0x3c]
jb 0x4b0e30
xor esi, esi
cmp dword [esp + 0x44], esi
jle 0x4b0fc0
jmp 0x4b0f80
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 + 0x38]
and ecx, dword [esp + 0x28]
or edx, ecx
je 0x4b0fb9
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 4]
mov word [eax + edi*2], si
mov eax, dword [ecx + 0x20]
mov dword [eax + edi*4], 0x505638
inc edi
inc esi
cmp esi, dword [esp + 0x44]
jl 0x4b0f80
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x40]
mov ecx, dword [eax + 0x44]
xor eax, eax
and ecx, 0x80000000
or eax, ecx
je 0x4b1003
mov esi, dword [esp + 0x24]
mov eax, 0x3f
cmp ax, word [esi + 0x22]
jge 0x4b1003
mov ecx, eax
mov eax, dword [edx + 4]
mov word [eax + edi*2], cx
inc ecx
mov eax, dword [edx + 0x20]
mov dword [eax + edi*4], 0x505638
inc edi
movsx eax, word [esi + 0x22]
cmp ecx, eax
jl 0x4b0fe8
mov eax, dword [edx + 4]
or ecx, 0xffffffff
mov esi, dword [esp + 0x4c]
mov word [eax + edi*2], cx
mov eax, dword [edx + 0x20]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
inc edx
mov dword [eax + edi*4], 0x505638
mov eax, dword [ecx + 0x28]
mov dword [esi + 8], eax
inc dword [ecx + 0x28]
mov eax, dword [esi + 8]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x88]
cmp dword [eax + 0x30], ecx
jg 0x4b105e
push 0
push edx
push dword [esp + 0x20]
mov edx, 0x6a
mov ecx, esi
call fcn.00460c40
add esp, 0xc
jmp 0x4b1098
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x58]
mov esi, dword [esp + 0x18]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x10]
mov word [eax + ecx*4], 0x6a
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x40]
mov eax, dword [ecx + 8]
mov dword [esp + 0x3c], eax
call fcn.00488490
mov edx, eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
cmp byte [ecx + 0x45], 0
je 0x4b10ca
push edx
mov edx, 0xfffffffa
call fcn.004618a0
add esp, 4
jmp 0x4b1103
mov eax, dword [eax + 0x88]
dec eax
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x58]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x4b10f8
mov ecx, dword [esp + 0x3c]
push 0xfffffffffffffffa
push edx
mov edx, eax
call fcn.00461a90
add esp, 8
jmp 0x4b1103
test edx, edx
je 0x4b1103
mov dword [eax + 0x10], edx
mov byte [eax + 1], 0xfa
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x4c]
inc dword [eax + 0x40]
movzx eax, byte [edx + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x50]
shl ecx, 4
mov eax, dword [eax]
mov eax, dword [eax + 4]
add eax, 8
add eax, ecx
mov dword [esp + 0x50], eax
test byte [eax + 0x28], 0x10
je 0x4b125b
mov edx, dword [eax + 0x1c]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x88]
mov dword [esp + 0x24], edx
mov dword [esp + 0x64], ecx
cmp dword [eax + 0x30], ecx
jg 0x4b116c
push 0
push 0
push 0
mov edx, 0x4c
mov ecx, esi
call fcn.00460c40
mov edx, dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x64], eax
jmp 0x4b11a6
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x58]
mov word [eax + ecx*4], 0x4c
mov byte [eax + ecx*4 + 3], 0
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 + 0x50]
mov ecx, dword [esi + 0x88]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x30], ecx
jg 0x4b11d7
push dword [esp + 0x18]
mov ecx, esi
push 0
push edx
mov edx, 0xf
call fcn.00460c40
add esp, 0xc
jmp 0x4b120d
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x58]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x18]
mov word [eax + ecx*4], 0xf
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x10]
mov esi, dword [esi + 0x88]
mov edx, dword [esp + 0x24]
mov eax, dword [ecx + 0xc]
cmp dword [eax + 0x30], esi
jg 0x4b123c
push 0
push 0
push edx
mov edx, 0x10
call fcn.00460c40
add esp, 0xc
mov esi, eax
jmp 0x4b12c8
mov edx, dword [esp + 0x10]
lea eax, [esi + 1]
mov dword [ecx + 0x88], eax
lea ecx, [esi + esi*4]
mov eax, dword [edx + 0x58]
mov edx, dword [esp + 0x24]
mov word [eax + ecx*4], 0x10
jmp 0x4b12a7
mov ecx, dword [esp + 0x10]
mov esi, dword [esi + 0x88]
mov edx, dword [edx + 4]
mov dword [esp + 0x18], edx
mov eax, dword [ecx + 0xc]
cmp dword [eax + 0x30], esi
jg 0x4b128a
push 0
push 0
push edx
mov edx, 0x39
call fcn.00460c40
add esp, 0xc
mov esi, eax
jmp 0x4b12c8
mov edx, dword [esp + 0x10]
lea eax, [esi + 1]
mov dword [ecx + 0x88], eax
lea ecx, [esi + esi*4]
mov eax, dword [edx + 0x58]
mov edx, dword [esp + 0x18]
mov word [eax + ecx*4], 0x39
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 byte [eax + ecx*4 + 3], 0
cmp dword [esp + 0x5c], 0
mov edx, dword [esp + 0x10]
je 0x4b1349
mov edx, dword [edx + 0xc]
mov dword [esp + 0x18], edx
mov ecx, dword [edx + 0x48]
mov dword [esp + 0x58], ecx
lea eax, [ecx + 1]
mov dword [edx + 0x48], eax
lea eax, [ecx - 1]
test ecx, eax
jne 0x4b1314
mov edx, dword [edx + 0x4c]
lea eax, [ecx*8 + 4]
mov ecx, dword [esp + 0x18]
push 0
push eax
mov ecx, dword [ecx]
call fcn.00441f00
mov edx, dword [esp + 0x20]
add esp, 8
mov ecx, dword [esp + 0x58]
mov dword [edx + 0x4c], eax
mov eax, dword [edx + 0x4c]
test eax, eax
je 0x4b1322
mov dword [eax + ecx*4], 0xffffffff
or eax, 0xffffffff
sub eax, ecx
push 0x10
push eax
push dword [esp + 0x64]
mov dword [esp + 0x64], eax
push dword [esp + 0x20]
call fcn.0047cfb0
mov eax, dword [esp + 0x64]
add esp, 0x10
or dword [eax + 0x24], 0x20000
mov ecx, dword [esp + 0x14]
mov al, byte [ecx + 0x13]
test al, al
jne 0x4b135c
inc dword [ecx + 0x2c]
mov eax, dword [ecx + 0x2c]
jmp 0x4b136b
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov eax, dword [ecx + eax*4 + 0x160]
mov edx, dword [esp + 0x4c]
push 0
push 0
push 0
push 0
push eax
push dword [edx + 4]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x3c], eax
call fcn.0048a860
mov edx, dword [esp + 0x28]
add esp, 0x18
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [edx + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0x18], eax
mov eax, dword [edx + 0x88]
mov dword [esp + 0x3c], eax
cmp dword [ecx + 0x30], eax
jg 0x4b13ce
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
push 0
push dword [esp + 0x28]
push edx
mov edx, 0x7e
call fcn.00460c40
add esp, 0xc
jmp 0x4b140a
inc eax
mov dword [edx + 0x88], eax
mov eax, dword [esp + 0x3c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x58]
mov edx, dword [esp + 0x18]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x24]
mov word [eax + ecx*4], 0x7e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x88]
test eax, eax
jle 0x4b1423
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x58]
mov byte [eax + ecx*4 - 0x11], 0x10
cmp dword [esp + 0x5c], 0
je 0x4b1449
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x4b1449
mov eax, dword [esp + 0x58]
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [edx + 0x88]
mov dword [ecx], eax
mov eax, dword [esp + 0x50]
test byte [eax + 0x28], 0x10
je 0x4b1516
mov ecx, dword [esp + 0x64]
test ecx, ecx
jns 0x4b1466
mov ecx, dword [edx + 0x88]
dec ecx
mov eax, dword [edx]
cmp byte [eax + 0x45], 0
je 0x4b1475
mov ecx, 0x66bf04
jmp 0x4b147e
mov eax, dword [edx + 0x58]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x48]
mov edx, esi
add eax, edi
mov edi, dword [esp + 0x50]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x10]
push 1
push dword [edi + 0x20]
push dword [eax + 4]
call fcn.004b0940
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x88]
cmp dword [eax + 0x30], ecx
jg 0x4b14da
mov ecx, dword [esp + 0x10]
mov edx, 0xd
push 0
push esi
push 0
call fcn.00460c40
mov edx, dword [esp + 0x1c]
add esp, 0xc
and dword [edi + 0x28], 0xffffffef
jmp 0x4b1589
lea eax, [ecx + 1]
mov dword [edx + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx + 0x58]
mov word [eax + ecx*4], 0xd
mov byte [eax + ecx*4 + 3], 0
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
and dword [edi + 0x28], 0xffffffef
jmp 0x4b1589
mov eax, dword [esp + 0x4c]
lea edi, [esi + 1]
mov ecx, dword [edx + 0x88]
mov eax, dword [eax + 4]
mov dword [esp + 0x58], eax
mov eax, dword [edx + 0xc]
cmp dword [eax + 0x30], ecx
jg 0x4b1550
mov ecx, dword [esp + 0x10]
mov edx, 7
push 0
push edi
push dword [esp + 0x60]
call fcn.00460c40
mov edx, dword [esp + 0x1c]
add esp, 0xc
jmp 0x4b1589
mov edi, dword [esp + 0x58]
lea eax, [ecx + 1]
mov dword [edx + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx + 0x58]
mov dword [eax + ecx*4 + 4], edi
lea edi, [esi + 1]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edx + 0x88]
test eax, eax
jle 0x4b159e
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x58]
mov byte [eax + ecx*4 - 0x11], 3
mov edi, dword [edx + 0x88]
test esi, esi
jns 0x4b15ab
lea esi, [edi - 1]
mov eax, dword [edx]
cmp byte [eax + 0x45], 0
je 0x4b15ba
mov eax, 0x66bf04
jmp 0x4b15c3
mov eax, dword [edx + 0x58]
lea ecx, [esi + esi*4]
lea eax, [eax + ecx*4]
mov edx, dword [esp + 0x24]
mov dword [eax + 8], edi
mov edi, dword [esp + 0x14]
test edx, edx
je 0x4b160c
mov al, byte [edi + 0x13]
mov byte [esp + 0xf], al
cmp al, 8
jae 0x4b160c
movzx esi, byte [edi + 0x19]
lea eax, [edi + 0x98]
xor ecx, ecx
test esi, esi
jle 0x4b15fd
lea ecx, [ecx]
cmp dword [eax + 0xc], edx
je 0x4b163a
inc ecx
add eax, 0x14
cmp ecx, esi
jl 0x4b15f0
movzx eax, byte [esp + 0xf]
mov dword [edi + eax*4 + 0x160], edx
inc byte [edi + 0x13]
mov ecx, edi
call fcn.0047ae10
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x6c]
mov esi, dword [edx + 0x88]
test ecx, ecx
jns 0x4b1628
lea ecx, [esi - 1]
mov eax, dword [edx]
cmp byte [eax + 0x45], 0
je 0x4b1640
mov eax, 0x66bf04
mov dword [eax + 8], esi
jmp 0x4b1653
mov byte [eax + 6], 1
jmp 0x4b160c
mov eax, dword [edx + 0x58]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4 + 8], esi
lea eax, [eax + ecx*4]
jmp 0x4b1653
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x4b1664
mov ecx, dword [edi]
mov edx, eax
call fcn.00476a50
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
xor ecx, esp
call fcn.004c0564
mov esp, ebp
pop ebp
ret