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

Disassembly:
sub esp, 0xe4
mov eax, dword [0x10c67840]
xor eax, esp
mov dword [esp + 0xe0], eax
push ebp
mov ebp, dword [esp + 0xec]
push esi
mov esi, dword [esp + 0x104]
push edi
mov edi, dword [esp + 0xfc]
push esi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], edi
call fcn.1027fdd0
xor ecx, ecx
add esp, 4
cmp dword [esi], ecx
mov dword [esp + 0x38], eax
jle 0x10278561
pop edi
pop esi
xor eax, eax
pop ebp
mov ecx, dword [esp + 0xe0]
xor ecx, esp
call fcn.102f2d37
add esp, 0xe4
ret
mov eax, dword [esp + 0xf8]
cmp eax, 0xffffffff
push ebx
mov ebx, ebp
mov dword [esp + 0x30], ebx
jne 0x1027857a
mov dword [esp + 0x2c], ecx
jmp 0x10278582
lea eax, [ebp + eax*2]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x104]
cmp eax, 0xffffffff
mov dword [esp + 0x34], edi
je 0x10278595
lea ecx, [edi + eax*2]
xor edx, edx
xor esi, esi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], esi
or ecx, 0xffffffff
or edi, 0xffffffff
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], ecx
test edi, edi
jge 0x10278625
mov eax, dword [esp + 0x2c]
cmp ebp, eax
je 0x102785dc
movzx edi, word [ebp]
test edi, edi
mov dword [esp + 0x1c], edi
jne 0x10278611
test eax, eax
je 0x102785dc
test dword [esp + 0x108], 0x1000
je 0x10278611
test esi, esi
je 0x1027861a
lea eax, [esi + esi*2]
lea eax, [esp + eax*4 + 0x58]
mov ebx, dword [eax - 0xc]
sub eax, 0xc
sub esi, 1
test ebx, ebx
mov dword [esp + 0x30], ebx
je 0x102785e7
lea eax, [esi + esi*2]
add eax, eax
add eax, eax
mov ebp, dword [esp + eax + 0x5c]
mov eax, dword [esp + eax + 0x60]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x2c], eax
jmp 0x102785b7
add ebp, 2
mov dword [esp + 0x14], ebp
jmp 0x10278621
or edi, 0xffffffff
mov dword [esp + 0x1c], edi
mov dword [esp + 0x24], esi
test ecx, ecx
jge 0x1027869f
lea esp, [esp]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
cmp ecx, eax
je 0x10278658
movzx ecx, word [ecx]
test ecx, ecx
mov dword [esp + 0x18], ecx
jne 0x1027868d
test eax, eax
je 0x10278658
test dword [esp + 0x108], 0x1000
je 0x1027868d
test edx, edx
je 0x10278694
lea eax, [edx + edx*2]
lea eax, [esp + eax*4 + 0x40]
mov ecx, dword [eax - 0xc]
sub eax, 0xc
sub edx, 1
test ecx, ecx
mov dword [esp + 0x34], ecx
je 0x10278663
lea eax, [edx + edx*2]
add eax, eax
add eax, eax
mov ecx, dword [esp + eax + 0x44]
mov eax, dword [esp + eax + 0x48]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], eax
jmp 0x10278630
add dword [esp + 0x10], 2
jmp 0x1027869b
or ecx, 0xffffffff
mov dword [esp + 0x18], ecx
mov dword [esp + 0x28], edx
cmp edi, ecx
jne 0x102786b2
test edi, edi
jge 0x102785a5
xor eax, eax
jmp 0x10278ab6
test edi, edi
jl 0x102789cc
test ecx, ecx
jl 0x102789d4
mov ebp, edi
and ebp, 0xfffff800
cmp ebp, 0xd800
mov ecx, edi
jne 0x10278732
test edi, 0x400
mov eax, dword [esp + 0x14]
jne 0x10278709
cmp eax, dword [esp + 0x2c]
je 0x10278732
movzx eax, word [eax]
movzx eax, ax
mov edx, eax
and edx, 0xfffffc00
cmp edx, 0xdc00
jne 0x10278732
lea ecx, [edi - 0xd7f7]
shl ecx, 0xa
add ecx, eax
jmp 0x10278732
lea edx, [eax - 4]
cmp ebx, edx
ja 0x10278732
movzx eax, word [eax - 4]
movzx eax, ax
mov edx, eax
and edx, 0xfffffc00
cmp edx, 0xd800
jne 0x10278732
lea ecx, [eax - 0xd7f7]
shl ecx, 0xa
add ecx, edi
mov edx, dword [esp + 0x18]
mov ebx, edx
and ebx, 0xfffff800
cmp ebx, 0xd800
mov edi, edx
jne 0x102787a8
test edx, 0x400
mov eax, dword [esp + 0x10]
jne 0x1027877d
cmp eax, dword [esp + 0x20]
je 0x102787a8
movzx eax, word [eax]
movzx eax, ax
mov esi, eax
and esi, 0xfffffc00
cmp esi, 0xdc00
jne 0x102787a8
lea edi, [edx - 0xd7f7]
shl edi, 0xa
add edi, eax
jmp 0x102787a8
lea esi, [eax - 4]
cmp dword [esp + 0x34], esi
ja 0x102787a8
movzx eax, word [eax - 4]
movzx eax, ax
mov esi, eax
and esi, 0xfffffc00
cmp esi, 0xd800
jne 0x102787a8
lea edi, [eax - 0xd7f7]
shl edi, 0xa
add edi, edx
cmp dword [esp + 0x24], 0
jne 0x102788af
mov eax, dword [esp + 0x108]
push eax
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x3c]
push edx
push ecx
push eax
call fcn.10280f40
mov esi, eax
add esp, 0x10
test esi, esi
jl 0x102788af
cmp ebp, 0xd800
jne 0x10278804
test dword [esp + 0x1c], 0x400
jne 0x102787f1
add dword [esp + 0x14], 2
jmp 0x10278804
mov eax, dword [esp + 0x10]
movzx ecx, word [eax - 4]
sub eax, 2
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], ecx
cmp esi, 0x1f
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x24], 1
jg 0x1027883e
mov edx, dword [esp + 0x38]
push esi
push edx
lea eax, [esp + 0x78]
push eax
call fcn.102811e0
add esp, 0xc
jmp 0x10278878
cmp esi, 0xffff
ja 0x10278852
mov word [esp + 0x70], si
mov esi, 1
jmp 0x10278878
mov ecx, esi
sar ecx, 0xa
and esi, 0x3ff
sub ecx, 0x2840
or esi, 0xdc00
mov word [esp + 0x72], si
mov word [esp + 0x70], cx
mov esi, 2
lea edx, [esp + 0x70]
mov eax, edx
lea ecx, [esp + esi*2 + 0x70]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x1c], 0xffffffff
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], eax
mov ebx, eax
mov ebp, eax
jmp 0x102785b3
cmp dword [esp + 0x28], 0
jne 0x102789de
mov edx, dword [esp + 0x108]
mov ecx, dword [esp + 0x3c]
push edx
lea eax, [esp + 0x3c]
push eax
push edi
push ecx
call fcn.10280f40
mov esi, eax
add esp, 0x10
test esi, esi
jl 0x102789de
cmp ebx, 0xd800
jne 0x1027890b
test dword [esp + 0x18], 0x400
jne 0x102788f8
add dword [esp + 0x10], 2
jmp 0x1027890b
mov eax, dword [esp + 0x14]
movzx edx, word [eax - 4]
sub eax, 2
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], edx
cmp esi, 0x1f
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], edx
mov dword [esp + 0x28], 1
jg 0x10278948
mov eax, dword [esp + 0x38]
push esi
push eax
lea ecx, [esp + 0xb8]
push ecx
call fcn.102811e0
add esp, 0xc
jmp 0x1027898b
cmp esi, 0xffff
ja 0x1027895f
mov word [esp + 0xb0], si
mov esi, 1
jmp 0x1027898b
mov edx, esi
sar edx, 0xa
and esi, 0x3ff
sub edx, 0x2840
or esi, 0xdc00
mov word [esp + 0xb2], si
mov word [esp + 0xb0], dx
mov esi, 2
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
lea eax, [esp + 0xb0]
lea edx, [esp + esi*2 + 0xb0]
mov esi, dword [esp + 0x24]
mov ecx, eax
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
jmp 0x102785b3
or eax, 0xffffffff
jmp 0x10278ab6
mov eax, 1
jmp 0x10278ab6
mov eax, dword [esp + 0x1c]
cmp eax, 0xd800
mov edx, dword [esp + 0x18]
jl 0x10278ab4
cmp edx, 0xd800
jl 0x10278ab4
test dword [esp + 0x108], 0x8000
je 0x10278ab4
cmp eax, 0xdbff
mov ecx, dword [esp + 0x14]
jg 0x10278a30
cmp ecx, dword [esp + 0x2c]
je 0x10278a30
movzx esi, word [ecx]
and esi, 0xfffffc00
cmp esi, 0xdc00
je 0x10278a60
mov esi, eax
and esi, 0xfffffc00
cmp esi, 0xdc00
jne 0x10278a5b
lea esi, [ecx - 2]
cmp dword [esp + 0x30], esi
je 0x10278a5b
movzx ecx, word [ecx - 4]
and ecx, 0xfffffc00
cmp ecx, 0xd800
je 0x10278a60
sub eax, 0x2800
cmp edx, 0xdbff
mov ecx, dword [esp + 0x10]
jg 0x10278a83
cmp ecx, dword [esp + 0x20]
je 0x10278a83
movzx esi, word [ecx]
and esi, 0xfffffc00
cmp esi, 0xdc00
je 0x10278ab4
mov esi, edx
and esi, 0xfffffc00
cmp esi, 0xdc00
jne 0x10278aae
lea esi, [ecx - 2]
cmp dword [esp + 0x34], esi
je 0x10278aae
movzx ecx, word [ecx - 4]
and ecx, 0xfffffc00
cmp ecx, 0xd800
je 0x10278ab4
sub edx, 0x2800
sub eax, edx
mov ecx, dword [esp + 0xf0]
pop ebx
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.102f2d37
add esp, 0xe4
ret