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

Disassembly:
sub esp, 0x4c
push ebx
mov ebx, dword [esp + 0x54]
xor eax, eax
push ebp
push esi
push edi
mov edi, dword [ebx + 8]
push 0x11
push edi
mov byte [esp + 0x1b], al
mov dword [esp + 0x28], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x44], edi
call fcn.101596a4
and dword [esp + 0x1c], 0
xorps xmm0, xmm0
pop ecx
pop ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x58], eax
movlpd qword [esp + 0x40], xmm0
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x64]
imul edx, dword [eax + 0xc], 0x30
mov esi, dword [eax + 0x14]
mov eax, dword [esp + 0x74]
add edx, esi
mov ebp, dword [eax + 0x48]
mov dword [esp + 0x38], edx
mov dword [esp + 0x24], ebp
cmp esi, edx
jae 0x10126597
mov eax, dword [esp + 0x44]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], eax
mov eax, dword [ebp]
or eax, dword [ebp + 4]
jne 0x101264a5
test byte [esi + 0xa], 2
jne 0x101264a5
mov ebp, dword [esi]
test byte [ebp + 4], 1
jne 0x101264a5
push dword [ecx + 0x2c]
push 3
push ebp
call fcn.1021b520
add esp, 0xc
test eax, eax
je 0x101264a5
push 0
push ebp
push dword [ebx]
call fcn.101458f3
mov edx, dword [esp + 0x2c]
add esp, 0xc
mov ecx, dword [ebx]
mov ebp, eax
mov dword [esp + 0x48], ecx
test edx, edx
jne 0x10126442
mov dword [esp + 0x20], ebp
jmp 0x101264a5
test ebp, ebp
je 0x101264a5
mov eax, dword [edx + 4]
and eax, 0x20000001
cmp eax, 0x20000000
je 0x10126464
mov eax, dword [ebp + 4]
and eax, 0x20000001
cmp eax, 0x20000000
jne 0x10126494
cmp byte [ebx + 0xcc], 2
jae 0x10126494
push edx
push ecx
call fcn.10145850
push ebp
mov ebp, dword [esp + 0x54]
push ebp
call fcn.10145850
push 0x10266800
push 0x98
push ebp
call fcn.1021b520
add esp, 0x1c
jmp 0x101264a1
push ebp
push edx
push 0x2c
push ebx
call fcn.1021b520
add esp, 0x10
mov dword [esp + 0x20], eax
push dword [esp + 0x70]
push dword [esp + 0x70]
push dword [esp + 0x70]
push esi
call fcn.1021b520
add esp, 0x10
test eax, eax
je 0x10126578
mov edx, dword [esi + 0x18]
xor ebp, ebp
cmp edx, 0x40
jl 0x101264d6
mov dword [esp + 0x30], closesocket
jmp 0x101264ef
mov eax, edx
xor ecx, ecx
bts ebp, eax
cmp eax, 0x20
cmovae ecx, ebp
xor ebp, ecx
cmp eax, 0x40
cmovae ecx, ebp
mov dword [esp + 0x30], ecx
cmp byte [esp + 0x13], 0
jne 0x1012651c
imul ecx, edx, 0x14
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 4]
push dword [ecx + eax]
push dword [edx]
push str.automatic_index_on__s__s_
push 0x11c
call fcn.1011e090
add esp, 0x10
mov byte [esp + 0x13], 1
mov eax, dword [esp + 0x30]
mov ecx, ebp
mov edx, dword [esp + 0x1c]
and eax, edx
and ecx, dword [esp + 0x18]
or ecx, eax
jne 0x1012657c
mov eax, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x28]
mov dword [esp + 0x50], eax
push dword [ebx]
call fcn.10171531
add esp, 0xc
test eax, eax
jne 0x101269ea
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
or dword [esp + 0x18], ebp
mov eax, dword [eax + 0x30]
or edx, dword [esp + 0x30]
mov dword [esp + 0x1c], edx
mov dword [eax + ecx*4], esi
mov eax, dword [esp + 0x48]
mov dword [esp + 0x14], eax
jmp 0x1012657c
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x68]
add esi, 0x30
mov ebp, dword [esp + 0x24]
cmp esi, dword [esp + 0x38]
jb 0x101263e7
mov ecx, dword [esp + 0x18]
jmp 0x1012659f
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x14]
not ecx
mov esi, dword [esp + 0x68]
not edx
movzx eax, ax
or edx, 0x80000000
mov word [ebp + 0x28], ax
mov word [ebp + 0x18], ax
mov eax, dword [esp + 0x2c]
mov dword [ebp + 0x24], 0x4241
and ecx, dword [esi + 0x38]
and edx, dword [esi + 0x3c]
movzx ebp, word [eax + 0x2a]
push 0x3f
mov dword [esp + 0x1c], ecx
pop ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x48], ebp
movzx eax, bp
cmp cx, bp
jge 0x101265ee
mov dword [esp + 0x28], ecx
jmp 0x101265fc
movsx ecx, bp
mov dword [esp + 0x28], ecx
xor ecx, ecx
cmp cx, ax
jge 0x10126642
mov edi, dword [esp + 0x28]
xor esi, esi
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
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, ebp
and ecx, ebx
or edx, ecx
je 0x1012662d
inc dword [esp + 0x14]
inc esi
cmp esi, edi
jl 0x1012660a
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x68]
xor edx, edx
cmp dword [esi + 0x3c], edx
jg 0x10126660
jl 0x10126650
cmp dword [esi + 0x38], edx
jae 0x10126660
mov ecx, dword [esp + 0x14]
movsx eax, bp
add ecx, 0xffffffc1
add ecx, eax
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x54]
push eax
mov eax, dword [esp + 0x18]
push edx
inc eax
push eax
push dword [ebx]
call fcn.1013ae25
mov esi, eax
add esp, 0x10
mov dword [esp + 0x54], esi
test esi, esi
je 0x101269ea
mov eax, dword [esp + 0x24]
xor ebp, ebp
xorps xmm0, xmm0
mov dword [esp + 0x30], ebp
movlpd qword [esp + 0x40], xmm0
mov dword [eax + 0x20], esi
mov eax, dword [esp + 0x2c]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x64]
mov dword [esi], str.auto_index
mov eax, dword [eax + 0x14]
mov dword [esp + 0x48], eax
cmp eax, dword [esp + 0x38]
jae 0x1012677a
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], eax
push dword [esp + 0x70]
push dword [esp + 0x70]
push dword [esp + 0x70]
push edi
call fcn.1021b520
add esp, 0x10
test eax, eax
je 0x10126765
mov ecx, dword [edi + 0x18]
xor eax, eax
cmp ecx, 0x40
jl 0x101266fa
mov edx, closesocket
jmp 0x1012670d
xor edx, edx
bts eax, ecx
cmp ecx, 0x20
cmovae edx, eax
xor eax, edx
cmp ecx, 0x40
cmovae edx, eax
mov ecx, eax
mov dword [esp + 0x48], edx
and ecx, dword [esp + 0x30]
and edx, dword [esp + 0x34]
or ecx, edx
mov dword [esp + 0x40], eax
jne 0x10126765
mov eax, dword [esp + 0x30]
or eax, dword [esp + 0x40]
mov edx, dword [edi]
mov ecx, dword [esi + 4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
or eax, dword [esp + 0x48]
mov dword [esp + 0x34], eax
mov ax, word [edi + 0x18]
push edx
push ebx
mov word [ecx + ebp*2], ax
call fcn.101457b1
pop ecx
pop ecx
test eax, eax
je 0x10126759
mov ecx, dword [eax]
jmp 0x1012675e
mov ecx, 0x102802ec
mov eax, dword [esi + 0x20]
mov dword [eax + ebp*4], ecx
inc ebp
add edi, 0x30
cmp edi, dword [esp + 0x38]
jb 0x101266d0
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x30], ebp
and dword [esp + 0x48], 0
cmp dword [esp + 0x28], 0
jle 0x101267d4
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x28]
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 + 0x18]
and ecx, dword [esp + 0x1c]
or edx, ecx
je 0x101267c3
mov eax, dword [esi + 4]
mov word [eax + ebp*2], bx
mov eax, dword [esi + 0x20]
mov dword [eax + ebp*4], 0x102802ec
inc ebp
inc ebx
cmp ebx, edi
jl 0x1012678e
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x30], ebp
mov eax, dword [esp + 0x68]
cmp dword [eax + 0x3c], 0
jg 0x10126812
jl 0x101267e6
cmp dword [eax + 0x38], 0
jae 0x10126812
mov edx, dword [esp + 0x2c]
push 0x3f
pop ecx
cmp cx, word [edx + 0x2a]
jge 0x10126812
mov eax, dword [esi + 4]
mov word [eax + ebp*2], cx
mov eax, dword [esi + 0x20]
mov dword [eax + ebp*4], 0x102802ec
inc ebp
movsx eax, word [edx + 0x2a]
inc ecx
cmp ecx, eax
jl 0x101267f3
mov dword [esp + 0x30], ebp
mov eax, dword [esi + 4]
or ecx, 0xffffffff
mov word [eax + ebp*2], cx
mov eax, dword [esi + 0x20]
mov dword [eax + ebp*4], 0x102802ec
mov ebp, dword [esp + 0x74]
mov eax, dword [ebx + 0x28]
mov dword [ebp + 8], eax
inc dword [ebx + 0x28]
mov eax, dword [esp + 0x14]
inc eax
push eax
push dword [ebp + 8]
push 0x63
push edi
call fcn.101596d3
push esi
push ebx
call fcn.1016209c
movzx eax, byte [ebp + 0x34]
add esp, 0x18
imul ebp, eax, 0x48
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
mov esi, dword [eax + 4]
mov dword [esp + 0x48], esi
test byte [esi + ebp + 0x30], 0x10
je 0x101268a5
mov eax, dword [esi + ebp + 0x24]
mov dword [esp + 0x68], eax
xor eax, eax
push eax
push eax
push eax
push 0x45
push edi
call fcn.1021b520
push dword [esi + ebp + 0x20]
mov dword [esp + 0x68], eax
push 0
push dword [esp + 0x84]
push 0xd
push edi
call fcn.1021b520
mov eax, dword [esp + 0x90]
add esp, 0x28
push 0xe
jmp 0x101268ae
mov eax, dword [esp + 0x74]
push 0x25
mov eax, dword [eax + 4]
pop ecx
push eax
push ecx
push edi
call fcn.101596ba
mov dword [esp + 0x74], eax
add esp, 0xc
mov eax, dword [esp + 0x20]
test eax, eax
je 0x101268e8
dec dword [ebx + 0x38]
mov ecx, dword [ebx + 0x38]
push 0x10
push ecx
push eax
push ebx
mov dword [esp + 0x5c], ecx
call fcn.10145a70
mov eax, dword [esp + 0x34]
add esp, 0x10
or dword [eax + 0x24], 0x20000
push ebx
call fcn.10149be5
xor ecx, ecx
mov dword [esp + 0x64], eax
push ecx
push ecx
push ecx
push ecx
push eax
mov eax, dword [esp + 0x8c]
push dword [eax + 4]
push dword [esp + 0x70]
push ebx
call fcn.10149490
push dword [esp + 0x84]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x9c]
push dword [eax + 8]
push 0x83
push edi
call fcn.101596d3
push 0x10
push edi
call fcn.10159a50
add esp, 0x3c
cmp dword [esp + 0x20], 0
je 0x1012694e
push dword [esp + 0x4c]
push edi
call fcn.10161d60
pop ecx
pop ecx
test byte [esi + ebp + 0x30], 0x10
je 0x1012699d
push dword [esp + 0x50]
mov esi, dword [esp + 0x68]
add esi, dword [esp + 0x34]
push edi
call fcn.1015fcbe
mov dword [eax + 8], esi
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x50]
push dword [eax + 8]
push dword [esi + ebp + 0x28]
push dword [eax + 4]
push dword [esp + 0x7c]
push ebx
call fcn.1021b520
push dword [esp + 0x84]
push edi
call fcn.1015fce3
add esp, 0x24
and dword [esi + ebp + 0x30], 0xffffffef
jmp 0x101269bd
mov eax, dword [esp + 0x68]
inc eax
push eax
mov eax, dword [esp + 0x78]
push dword [eax + 4]
push 5
push edi
call fcn.101596d3
push 3
push edi
call fcn.10159a50
add esp, 0x18
push dword [esp + 0x68]
push edi
call fcn.1015fcbe
push dword [esp + 0x68]
mov ecx, dword [edi + 0x6c]
push ebx
mov dword [eax + 8], ecx
call fcn.10152995
push dword [esp + 0x68]
push edi
call fcn.1015fcbe
mov ecx, dword [edi + 0x6c]
add esp, 0x18
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x20]
test eax, eax
je 0x101269fc
push eax
push dword [ebx]
call fcn.10145850
pop ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret