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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
mov eax, dword [0x102514b8]
xor eax, esp
mov dword [esp + 0x78], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
mov dword [esp + 0x4c], edx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x3c], ecx
push edi
mov eax, dword [esi]
mov dword [esp + 0x10], eax
xor eax, eax
test ecx, ecx
mov dword [esp + 0x60], ebx
setne al
movzx ecx, byte [ebx + eax + 0x19]
add eax, 7
mov edi, dword [ebx + eax*4]
lea eax, [ebx + eax*4]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x68], eax
test ecx, ecx
je 0x101204d5
test edi, edi
jne 0x101204d5
lea eax, [esp + 0x18]
mov dword [esp + 0x34], edi
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x1c], edi
push eax
mov dword [esp + 0x28], edi
mov ecx, esi
mov dword [esp + 0x40], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x38], edi
mov edi, edx
push ebx
call fcn.1011e110
add esp, 0xc
test eax, eax
jne 0x1012046e
xor ecx, ecx
mov dword [esp + 0x64], ecx
cmp dword [ebx + 0x14], ecx
jle 0x101200af
mov dword [esp + 0x74], 0x1022b74c
mov dword [esp + 0x78], 3
mov dword [esp + 0x6c], 0x1022b704
mov dword [esp + 0x70], 3
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1011fb15
mov edx, dword [eax + ecx*4]
jmp 0x1011fb18
mov edx, dword [ebx + 0x24]
mov eax, dword [esp + 0x34]
test eax, eax
je 0x1011fb31
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 4]
mov ecx, dword [eax + ecx*8]
jmp 0x1011fb36
mov ecx, 0x1022cd90
mov eax, dword [ebx]
lea edx, [edx + edx*2]
shl edx, 3
mov dword [esp + 0x14], edx
mov dword [esp + 0x54], ecx
mov eax, dword [eax + 4]
mov edx, dword [edx + eax]
mov eax, ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x7c], edx
test ecx, ecx
je 0x1011fb6d
cmp byte [ecx], 0
je 0x1011fb66
nop
inc eax
cmp byte [eax], 0
jne 0x1011fb60
sub eax, ecx
and eax, 0x3fffffff
mov dword [esp + 0x58], eax
mov ebx, edx
test edx, edx
je 0x1011fb8e
cmp byte [edx], 0
je 0x1011fb86
lea esp, [esp]
inc ebx
cmp byte [ebx], 0
jne 0x1011fb80
sub ebx, edx
and ebx, 0x3fffffff
mov ecx, dword [esi]
lea eax, [esp + 0x7c]
push 1
push eax
mov edx, 0x1a
mov dword [esp + 0x88], ebx
call fcn.1010be60
mov edi, dword [esi]
add esp, 8
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x1011fbc9
xor edx, edx
mov ecx, edi
call fcn.1010c4d0
xor edx, edx
mov ecx, edi
call fcn.1010c4d0
jmp 0x1011fbed
mov ecx, eax
call fcn.1010bd40
mov eax, dword [esi]
mov ecx, dword [esp + 0x3c]
mov eax, dword [eax + 0x5c]
cmp dword [ecx + 0x14], eax
jle 0x1011fbed
push eax
push 0x1022b97c
push esi
call fcn.100e18e0
add esp, 0xc
mov ecx, dword [esi]
lea eax, [esp + 0x54]
push 1
push eax
mov edx, 0x1a
call fcn.1010be60
mov edi, eax
add esp, 8
mov eax, dword [esi]
mov dword [esp + 0x44], edi
mov dword [esp + 0x1c], eax
test edi, edi
jne 0x1011fc29
xor edx, edx
mov ecx, eax
call fcn.1010c4d0
mov ecx, dword [esp + 0x1c]
xor edx, edx
call fcn.1010c4d0
jmp 0x1011fc49
mov ecx, edi
call fcn.1010bd40
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
cmp dword [edi + 0x14], eax
jle 0x1011fc49
push eax
push 0x1022b97c
push esi
call fcn.100e18e0
add esp, 0xc
mov ecx, dword [esi]
lea eax, [esp + 0x74]
push 1
push eax
mov edx, 0x1a
call fcn.1010be60
mov edi, eax
add esp, 8
mov eax, dword [esi]
mov dword [esp + 0x1c], eax
test edi, edi
jne 0x1011fc81
xor edx, edx
mov ecx, eax
call fcn.1010c4d0
mov ecx, dword [esp + 0x1c]
xor edx, edx
call fcn.1010c4d0
jmp 0x1011fca1
mov ecx, edi
call fcn.1010bd40
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
cmp dword [edi + 0x14], eax
jle 0x1011fca1
push eax
push 0x1022b97c
push esi
call fcn.100e18e0
add esp, 0xc
push 0
push dword [esp + 0x40]
mov edx, 0x76
mov ecx, esi
push 0
push dword [esp + 0x50]
push edi
call fcn.1010c000
add esp, 0xc
mov edx, 0x4c
mov ecx, esi
push eax
call fcn.1010c000
mov edi, dword [esp + 0x1c]
add esp, 0xc
mov edx, dword [esp + 0x38]
mov ecx, edi
push eax
call fcn.1010c0d0
mov ecx, dword [esp + 0x44]
add esp, 4
mov dword [esp + 0x38], eax
test ecx, ecx
je 0x1011feae
mov ecx, dword [esi]
lea eax, [esp + 0x54]
push 1
push eax
mov edx, 0x1a
call fcn.1010be60
mov edi, dword [esi]
add esp, 8
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x1011fd24
xor edx, edx
mov ecx, edi
call fcn.1010c4d0
xor edx, edx
mov ecx, edi
call fcn.1010c4d0
jmp 0x1011fd48
mov ecx, eax
call fcn.1010bd40
mov eax, dword [esi]
mov ecx, dword [esp + 0x3c]
mov eax, dword [eax + 0x5c]
cmp dword [ecx + 0x14], eax
jle 0x1011fd48
push eax
push 0x1022b97c
push esi
call fcn.100e18e0
add esp, 0xc
mov ecx, dword [esi]
lea eax, [esp + 0x6c]
push 1
push eax
mov edx, 0x1a
call fcn.1010be60
mov edi, dword [esi]
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
jne 0x1011fd7c
xor edx, edx
mov ecx, edi
call fcn.1010c4d0
xor edx, edx
mov ecx, edi
call fcn.1010c4d0
jmp 0x1011fda0
mov ecx, eax
call fcn.1010bd40
mov eax, dword [esi]
mov ecx, dword [esp + 0x44]
mov eax, dword [eax + 0x5c]
cmp dword [ecx + 0x14], eax
jle 0x1011fda0
push eax
push 0x1022b97c
push esi
call fcn.100e18e0
add esp, 0xc
mov ecx, dword [esi]
lea eax, [esp + 0x54]
push 1
push eax
mov edx, 0x1a
call fcn.1010be60
mov edi, dword [esi]
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x1011fdd4
xor edx, edx
mov ecx, edi
call fcn.1010c4d0
xor edx, edx
mov ecx, edi
call fcn.1010c4d0
jmp 0x1011fdf8
mov ecx, eax
call fcn.1010bd40
mov eax, dword [esi]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + 0x5c]
cmp dword [ecx + 0x14], eax
jle 0x1011fdf8
push eax
push 0x1022b97c
push esi
call fcn.100e18e0
add esp, 0xc
mov ecx, dword [esi]
lea eax, [esp + 0x74]
push 1
push eax
mov edx, 0x1a
call fcn.1010be60
mov edi, eax
add esp, 8
mov eax, dword [esi]
mov dword [esp + 0x2c], eax
test edi, edi
jne 0x1011fe30
xor edx, edx
mov ecx, eax
call fcn.1010c4d0
mov ecx, dword [esp + 0x2c]
xor edx, edx
call fcn.1010c4d0
jmp 0x1011fe50
mov ecx, edi
call fcn.1010bd40
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
cmp dword [edi + 0x14], eax
jle 0x1011fe50
push eax
push 0x1022b97c
push esi
call fcn.100e18e0
add esp, 0xc
push 0
push ecx
push 0
push dword [esp + 0x48]
mov edx, 0x76
mov ecx, esi
push dword [esp + 0x54]
call fcn.1010c000
add esp, 0x10
mov edx, 0x76
mov ecx, esi
push eax
push 0
push dword [esp + 0x28]
push edi
call fcn.1010c000
add esp, 0xc
mov edx, 0x46
mov ecx, esi
push eax
call fcn.1010c000
mov edi, dword [esp + 0x1c]
add esp, 0xc
mov edx, dword [esp + 0x30]
mov ecx, edi
push eax
call fcn.1010c0d0
mov ecx, dword [esp + 0x44]
add esp, 4
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x4c]
cmp eax, 6
je 0x10120095
cmp eax, 9
jne 0x1011ff9a
test ecx, ecx
je 0x10120095
mov ecx, dword [esi]
lea eax, [esp + 0x54]
push 1
push eax
mov edx, 0x1a
call fcn.1010be60
mov edi, eax
add esp, 8
mov eax, dword [esi]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x2c], eax
test edi, edi
jne 0x1011ff08
xor edx, edx
mov ecx, eax
call fcn.1010c4d0
mov ecx, dword [esp + 0x2c]
xor edx, edx
call fcn.1010c4d0
jmp 0x1011ff28
mov ecx, edi
call fcn.1010bd40
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
cmp dword [edi + 0x14], eax
jle 0x1011ff28
push eax
push 0x1022b97c
push esi
call fcn.100e18e0
add esp, 0xc
mov ecx, dword [esi]
lea eax, [esp + 0x6c]
push 1
push eax
mov edx, 0x1a
call fcn.1010be60
mov edi, eax
add esp, 8
mov eax, dword [esi]
mov dword [esp + 0x2c], eax
test edi, edi
jne 0x1011ff60
xor edx, edx
mov ecx, eax
call fcn.1010c4d0
mov ecx, dword [esp + 0x2c]
xor edx, edx
call fcn.1010c4d0
jmp 0x1011ff80
mov ecx, edi
call fcn.1010bd40
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
cmp dword [edi + 0x14], eax
jle 0x1011ff80
push eax
push 0x1022b97c
push esi
call fcn.100e18e0
add esp, 0xc
push 0
push dword [esp + 0x20]
mov edx, 0x76
mov ecx, esi
push edi
call fcn.1010c000
mov edi, eax
jmp 0x10120033
cmp eax, 8
jne 0x1011ffc6
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + edx + 4]
test edx, edx
je 0x1011ffc6
push 0
push 0
mov ecx, edi
call fcn.1010c630
add esp, 8
mov edi, eax
jmp 0x10120036
mov ecx, dword [esi]
mov edx, 0x2c
call fcn.100df8a0
mov edi, eax
test edi, edi
je 0x1011fff6
push 0x2c
push 0
push edi
call fcn.10166d90
add esp, 0xc
mov byte [edi], 0x62
or eax, 0xffffffff
mov dword [edi + 0x14], 1
mov word [edi + 0x1e], ax
mov eax, dword [esi]
mov dword [esp + 0x14], eax
test edi, edi
jne 0x10120016
xor edx, edx
mov ecx, eax
call fcn.1010c4d0
mov ecx, dword [esp + 0x14]
xor edx, edx
call fcn.1010c4d0
jmp 0x10120036
mov ecx, edi
call fcn.1010bd40
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
cmp dword [edi + 0x14], eax
jle 0x10120036
push eax
push 0x1022b97c
push esi
call fcn.100e18e0
add esp, 0xc
mov edx, dword [esp + 0x48]
mov ecx, esi
push edi
call fcn.1010cf10
mov edi, eax
add esp, 4
mov dword [esp + 0x48], edi
test edi, edi
je 0x10120095
mov eax, dword [edi]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 8]
lea eax, [eax + ecx*8]
add eax, 0xffffffe8
cmp dword [esp + 0x5c], 0
mov dword [esp + 0x14], eax
jne 0x1012006c
xor edi, edi
jmp 0x10120092
mov ecx, dword [esi]
lea edx, [ebx + 1]
call fcn.100df8a0
mov edi, eax
test edi, edi
je 0x1012008e
push ebx
push dword [esp + 0x60]
push edi
call fcn.10164bb0
add esp, 0xc
mov byte [edi + ebx], 0
mov eax, dword [esp + 0x14]
mov dword [eax + 4], edi
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0x60]
inc ecx
mov edi, dword [esp + 0x50]
mov dword [esp + 0x64], ecx
cmp ecx, dword [ebx + 0x14]
jl 0x1011fb08
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
call fcn.100df640
mov eax, dword [ebx]
mov eax, dword [eax]
mov ebx, eax
mov dword [esp + 0x2c], eax
test eax, eax
je 0x101200de
cmp byte [eax], 0
je 0x101200d6
nop
inc ebx
cmp byte [ebx], 0
jne 0x101200d0
sub ebx, eax
and ebx, 0x3fffffff
cmp dword [esp + 0x4c], 6
jne 0x101202be
mov dword [esp + 0x7c], eax
mov edi, 0x1022b284
mov dword [esp + 0x80], ebx
lea esp, [esp]
inc edi
cmp byte [edi], 0
jne 0x10120100
mov ecx, dword [esp + 0x10]
sub edi, 0x1022b284
and edi, 0x3fffffff
lea eax, [edi + 0x2d]
mov edx, eax
mov dword [esp + 0x14], eax
call fcn.100df8a0
mov dword [esp + 0x18], eax
test eax, eax
je 0x10120191
push dword [esp + 0x14]
push 0
push eax
call fcn.10166d90
mov ecx, dword [esp + 0x24]
or eax, 0xffffffff
add esp, 0xc
mov word [ecx + 0x1e], ax
lea eax, [edi + 1]
mov byte [ecx], 0x38
test eax, eax
jne 0x10120162
mov eax, 0x400
mov dword [ecx + 4], 0
or word [ecx + 2], ax
jmp 0x10120186
lea eax, [ecx + 0x2c]
mov dword [ecx + 4], eax
test edi, edi
je 0x1012017f
push edi
push 0x1022b284
push eax
call fcn.10164bb0
mov ecx, dword [esp + 0x24]
add esp, 0xc
mov eax, dword [ecx + 4]
mov byte [edi + eax], 0
mov dword [ecx + 0x14], 1
mov byte [ecx + 1], 2
mov ecx, dword [esp + 0x10]
mov edx, 0x50
call fcn.100df8a0
mov edi, eax
test edi, edi
je 0x101201e6
push 0x50
push 0
push edi
call fcn.10166d90
add esp, 0xc
mov eax, 1
mov word [edi + 2], ax
mov edx, edi
movsx eax, word [edi]
mov edi, dword [esp + 0x10]
mov ecx, edi
push eax
push 1
call fcn.10118940
add esp, 8
mov ecx, eax
cmp byte [edi + 0x38], 0
mov dword [esp + 0x24], ecx
je 0x1012024c
mov edx, ecx
mov ecx, edi
call fcn.10118b80
mov dword [esp + 0x24], 0
mov eax, dword [esi]
mov edx, 0xc
mov ecx, eax
mov dword [esp + 0x34], eax
call fcn.100df8a0
mov edi, eax
test edi, edi
je 0x10120278
mov ecx, dword [esp + 0x34]
xorps xmm0, xmm0
movq qword [edi], xmm0
mov edx, 0x18
mov dword [edi + 8], 0
call fcn.100df8a0
mov edx, eax
mov dword [edi + 8], edx
test edx, edx
je 0x10120278
mov ecx, dword [edi]
xorps xmm0, xmm0
lea eax, [ecx + ecx*2]
lea edx, [edx + eax*8]
lea eax, [ecx + 1]
mov dword [edi], eax
mov eax, dword [esp + 0x18]
movdqu xmmword [edx], xmm0
movq qword [edx + 0x10], xmm0
mov dword [edx], eax
jmp 0x10120292
movsx eax, word [ecx]
lea edx, [esp + 0x7c]
lea eax, [eax + eax*8]
lea edi, [ecx + eax*8]
mov ecx, dword [esp + 0x10]
call fcn.10115240
mov ecx, dword [esp + 0x10]
xor edx, edx
mov dword [edi - 0x38], eax
call fcn.10115240
mov dword [edi - 0x3c], eax
jmp 0x101201ee
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
call fcn.1010c4d0
mov ecx, dword [esp + 0x34]
mov edx, edi
call fcn.1010d0e0
xor edi, edi
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x50]
mov edx, edi
mov ecx, esi
push dword [esp + 0x40]
call fcn.10128bf0
add esp, 0x20
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], 0
mov ecx, dword [esp + 0x10]
lea edx, [ebx + 0x4d]
mov al, byte [ecx + 0xea]
mov byte [esp + 0x2b], al
mov byte [ecx + 0xea], 0
call fcn.100df8a0
mov edi, eax
test edi, edi
je 0x10120416
lea eax, [ebx + 0x4d]
push eax
push 0
push edi
call fcn.10166d90
add esp, 0xc
test edi, edi
je 0x10120416
lea ecx, [edi + 0x24]
push ebx
push dword [esp + 0x30]
lea eax, [ecx + 0x28]
mov dword [edi + 0x1c], ecx
push eax
mov dword [esp + 0x2c], ecx
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], ebx
call fcn.10164bb0
mov ebx, dword [esp + 0x1c]
add esp, 0xc
mov edx, dword [esp + 0x38]
mov ecx, ebx
push 0
push 1
call fcn.1010c630
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x50]
push 1
mov dword [ecx + 0x14], eax
mov ecx, ebx
call fcn.1010c8e0
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov edx, dword [esp + 0x24]
mov dword [ecx + 0x18], eax
mov ecx, ebx
push 1
call fcn.1010cde0
mov ecx, dword [esp + 0x24]
add esp, 4
cmp dword [esp + 0x30], 0
mov dword [ecx + 8], eax
je 0x1012041a
mov ecx, dword [esi]
mov edx, 0x2c
call fcn.100df8a0
mov ebx, eax
test ebx, ebx
je 0x101203a0
push 0x2c
push 0
push ebx
call fcn.10166d90
add esp, 0xc
mov byte [ebx], 0x13
or eax, 0xffffffff
mov dword [ebx + 0x14], 1
mov word [ebx + 0x1e], ax
mov eax, dword [esi]
mov dword [esp + 0x14], eax
test ebx, ebx
jne 0x101203c2
mov edx, dword [esp + 0x30]
mov ecx, eax
call fcn.1010c4d0
mov ecx, dword [esp + 0x14]
xor edx, edx
call fcn.1010c4d0
jmp 0x101203f9
mov eax, dword [esp + 0x30]
mov ecx, 0x100
mov dword [ebx + 8], eax
mov ax, word [eax + 2]
and ax, cx
mov ecx, ebx
or word [ebx + 2], ax
call fcn.1010bd40
mov eax, dword [esi]
mov eax, dword [eax + 0x5c]
cmp dword [ebx + 0x14], eax
jle 0x101203f9
push eax
push 0x1022b97c
push esi
call fcn.100e18e0
add esp, 0xc
mov edx, ebx
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x10]
mov ecx, ebx
push 0
push 1
call fcn.1010c630
add esp, 8
mov dword [edi + 0xc], eax
jmp 0x1012041a
mov ebx, dword [esp + 0x10]
mov al, byte [esp + 0x2b]
mov ecx, ebx
mov edx, dword [esp + 0x38]
mov byte [ebx + 0xea], al
call fcn.1010c4d0
mov edx, dword [esp + 0x30]
mov ecx, ebx
call fcn.1010c4d0
mov edx, dword [esp + 0x48]
mov ecx, ebx
call fcn.1010d0e0
mov esi, dword [esp + 0x24]
test esi, esi
je 0x1012045f
mov edx, esi
mov ecx, ebx
call fcn.10128b70
mov edx, esi
mov ecx, ebx
call fcn.100df640
cmp byte [ebx + 0x38], 1
jne 0x10120482
mov edx, edi
mov ecx, ebx
call fcn.1011f120
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.1016198b
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x40]
cmp eax, 6
je 0x101204aa
cmp eax, 9
jne 0x101204a1
test edx, edx
jne 0x101204a1
mov ecx, dword [esp + 0x20]
mov byte [ecx], 0x6a
jmp 0x101204b1
mov ecx, dword [esp + 0x20]
mov byte [ecx], 0x6b
jmp 0x101204b1
mov ecx, dword [esp + 0x20]
mov byte [ecx], 0x74
mov esi, dword [esp + 0x50]
test edx, edx
mov dword [ecx + 4], edi
mov eax, dword [esi + 0x40]
mov dword [edi + 0x14], eax
mov ecx, dword [esi + 0x40]
mov eax, dword [esp + 0x68]
mov dword [edi + 0x18], ecx
setne cl
add cl, 0x6a
mov dword [eax], edi
mov byte [edi + 8], cl
mov ecx, dword [esp + 0x84]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1016198b
mov esp, ebp
pop ebp
ret