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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x8c
mov esi, dword [esp + 0xa4]
push 0
push dword [esp + 0xa4]
call fcn.1005a149
add esp, 8
lea edi, [esp + 4]
mov ecx, 0x1c
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x24]
mov ebp, dword [esp + 4]
mov eax, dword [esp + 8]
movzx edx, word [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
cmp ebp, 1
jne 0x100a50d1
cmp ecx, 0x110000
jne 0x100a50a2
cmp eax, edi
jb 0x100a560d
mov dword [esp + 0x20], 0
xor edi, edi
jmp 0x100a50c5
movzx ebx, dx
cmp dx, 5
jae 0x100a57cb
cmp eax, ebx
jb 0x100a5613
test dx, dx
je 0x100a50c3
mov word [esp + 0x10], 0
xor edx, edx
mov dword [esp + 4], 0
xor ebp, ebp
jmp 0x100a5081
cmp ebp, 2
je 0x100a55d8
mov edx, dword [esp + 0x68]
test edx, edx
jne 0x100a520a
cmp byte [esp + 0x5c], 2
je 0x100a524c
lea eax, [esp + 0x48]
push eax
call fcn.100a333c
add esp, 4
cmp eax, 0x110000
je 0x100a5247
mov edi, eax
cmp byte [esp + 0x6c], 0
je 0x100a516f
cmp edi, 0x80
jb 0x100a51fc
mov ebx, edi
add ebx, 0xffff5400
cmp ebx, 0x2ba4
jb 0x100a518f
push edi
call fcn.100a6f56
add esp, 4
test eax, eax
jne 0x100a514c
push edi
call fcn.100a6ed5
add esp, 4
test eax, eax
je 0x100a51fc
mov ebx, eax
mov ebp, edx
test edx, edx
je 0x100a50da
shl ebp, 2
xor edi, edi
mov edx, dword [ebx + edi]
mov ecx, esi
call fcn.100a4ca8
add edi, 4
cmp ebp, edi
jne 0x100a5159
jmp 0x100a50da
cmp edi, 0x80
jb 0x100a51fc
mov ebx, edi
add ebx, 0xffff5400
cmp ebx, 0x2ba4
jae 0x100a5213
mov edi, ebx
mov esi, 0xffff
and edi, esi
imul ebp, edi, 0x6f75
shr ebp, 0x18
lea edx, [ebp + 0x1100]
lea ecx, [esp + 0x24]
call fcn.100a4ca8
imul eax, ebp, 0x24c
mov ecx, ebx
sub ecx, eax
and ecx, esi
lea esi, [esp + 0x24]
imul edx, ecx, 0x925
shr edx, 0x10
add edx, 0x1161
mov ecx, esi
call fcn.100a4ca8
shr edi, 2
imul eax, edi, 0x4925
shr eax, 0x11
lea ecx, [eax + eax*8]
lea ecx, [ecx + ecx*2]
add ecx, eax
sub bx, cx
je 0x100a50da
add ebx, 0x11a7
movzx edi, bx
mov ecx, esi
mov edx, edi
call fcn.100a4ca8
jmp 0x100a50da
mov ecx, dword [esp + 0x2c]
jmp 0x100a52c9
push edi
call fcn.100a6ed5
add esp, 4
test eax, eax
je 0x100a51fc
mov ebp, edx
test edx, edx
je 0x100a50da
mov ebx, eax
shl ebp, 2
xor edi, edi
mov edx, dword [ebx + edi]
mov ecx, esi
call fcn.100a4ca8
add edi, 4
cmp ebp, edi
jne 0x100a5231
jmp 0x100a50da
mov byte [esp + 0x5c], 2
cmp dword [esp + 0x2c], 0x110000
jne 0x100a5268
mov eax, dword [esp + 0x38]
test eax, eax
je 0x100a55a4
mov ecx, dword [esp + 0x34]
jmp 0x100a5283
movzx eax, word [esp + 0x24]
test eax, eax
je 0x100a55a4
cmp ax, 5
jae 0x100a57f1
lea ecx, [esp + 0x28]
mov edx, dword [esp + 0x68]
mov edi, eax
sub edi, edx
jb 0x100a57e5
lea eax, [ecx + edx*8]
lea ecx, [esp + 0x8b]
mov dword [esp + 0x74], ecx
lea ecx, [esp + 0x74]
push ecx
push edi
push eax
call fcn.100a6437
add esp, 0xc
mov ecx, dword [esp + 0x2c]
cmp ecx, 0x110000
jne 0x100a52c0
mov edx, dword [esp + 0x38]
jmp 0x100a52c5
movzx edx, word [esp + 0x24]
mov dword [esp + 0x68], edx
mov eax, dword [esp + 0x64]
cmp ecx, 0x110000
jne 0x100a52df
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
jmp 0x100a52f1
movzx edi, word [esp + 0x24]
cmp edi, 5
jae 0x100a57d8
lea ebx, [esp + 0x28]
cmp eax, edi
jae 0x100a57bf
mov edi, dword [ebx + eax*8 + 4]
inc eax
cmp eax, edx
jne 0x100a5310
cmp ecx, 0x110000
jne 0x100a5319
mov eax, dword [esp + 0x38]
jmp 0x100a531e
mov dword [esp + 0x64], eax
jmp 0x100a53b1
movzx eax, word [esp + 0x24]
sub eax, edx
je 0x100a5385
xor ecx, ecx
mov edx, dword [esp + 0x68]
add edx, ecx
cmp dword [esp + 0x2c], 0x110000
jne 0x100a5346
mov ebx, dword [esp + 0x38]
cmp edx, ebx
jae 0x100a5752
mov ebp, dword [esp + 0x34]
jmp 0x100a5360
movzx ebx, word [esp + 0x24]
cmp ebx, 5
jae 0x100a57cb
lea ebp, [esp + 0x28]
cmp edx, ebx
jae 0x100a5752
cmp ecx, ebx
jae 0x100a575e
mov ebx, dword [ebp + edx*8 + 4]
mov dl, byte [ebp + edx*8]
mov byte [ebp + ecx*8], dl
mov dword [ebp + ecx*8 + 4], ebx
lea edx, [ecx + 1]
mov ecx, edx
cmp eax, edx
jne 0x100a5324
mov ecx, dword [esp + 0x2c]
cmp ecx, 0x110000
jne 0x100a5399
cmp dword [esp + 0x38], eax
jb 0x100a53a7
mov dword [esp + 0x38], eax
jmp 0x100a53a7
movzx ecx, word [esp + 0x24]
cmp eax, ecx
jae 0x100a53a7
mov word [esp + 0x24], ax
xor eax, eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
push edi
call fcn.100a6e90
add esp, 4
mov edx, eax
mov ebx, dword [esp + 0xc]
cmp ebx, 0x110000
jne 0x100a53d9
test dl, dl
jne 0x100a5629
mov dword [esp + 0xc], edi
jmp 0x100a50da
cmp byte [esp + 0x70], 0
je 0x100a5432
cmp byte [esp + 0x71], dl
jae 0x100a5485
mov byte [esp + 3], dl
push edi
push ebx
call fcn.100a7013
add esp, 8
cmp eax, 0x110000
jne 0x100a547c
cmp dword [esp + 0x14], 0x110000
jne 0x100a5543
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x18]
jne 0x100a5429
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.1001aa78
add esp, 8
mov eax, dword [esp + 0x20]
mov dl, byte [esp + 3]
jmp 0x100a54b7
mov byte [esp + 3], dl
push edi
push ebx
call fcn.100a7013
add esp, 8
cmp eax, 0x110000
jne 0x100a547c
mov dl, byte [esp + 3]
test dl, dl
je 0x100a5674
cmp dword [esp + 0x14], 0x110000
jne 0x100a5521
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x18]
jne 0x100a54b7
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.1001aa78
mov dl, byte [esp + 0xb]
jmp 0x100a54b0
mov dword [esp + 0xc], eax
jmp 0x100a50da
test dl, dl
je 0x100a5659
cmp dword [esp + 0x14], 0x110000
jne 0x100a54c4
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x18]
jne 0x100a54b7
push eax
lea eax, [esp + 0x1c]
push eax
mov ebx, edx
call fcn.1001aa78
mov edx, ebx
add esp, 8
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax*4], edi
inc dword [esp + 0x20]
jmp 0x100a5535
movzx eax, word [esp + 0x10]
cmp eax, 3
jbe 0x100a552b
mov ebx, edx
push edi
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.100ffdf9
add esp, 0xc
cmp dword [esp + 0x14], 0x110000
jne 0x100a5507
mov eax, dword [esp + 0x18]
test eax, eax
je 0x100a5507
shl eax, 2
push 4
push eax
push dword [esp + 0x24]
call fcn.10007550
add esp, 0xc
mov eax, dword [esp + 0x84]
lea ecx, [esp + 0x10]
mov dword [ecx + 0x10], eax
movups xmm0, xmmword [esp + 0x74]
movups xmmword [ecx], xmm0
mov edx, ebx
jmp 0x100a5535
movzx eax, word [esp + 0x10]
cmp eax, 3
ja 0x100a5551
mov dword [esp + eax*4 + 0x14], edi
inc eax
mov word [esp + 0x10], ax
mov byte [esp + 0x70], 1
mov byte [esp + 0x71], dl
jmp 0x100a50da
movzx eax, word [esp + 0x10]
cmp eax, 3
mov dl, byte [esp + 3]
jbe 0x100a552b
push edi
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.100ffdf9
add esp, 0xc
cmp dword [esp + 0x14], 0x110000
jne 0x100a5588
mov eax, dword [esp + 0x18]
test eax, eax
je 0x100a5588
shl eax, 2
push 4
push eax
push dword [esp + 0x24]
call fcn.10007550
add esp, 0xc
mov eax, dword [esp + 0x84]
lea ecx, [esp + 0x10]
mov dword [ecx + 0x10], eax
movups xmm0, xmmword [esp + 0x74]
movups xmmword [ecx], xmm0
mov dl, byte [esp + 3]
jmp 0x100a5535
mov dword [esp + 4], 2
mov dword [esp + 8], 0
mov ebx, dword [esp + 0xc]
mov ebp, 2
xor eax, eax
cmp ebx, 0x110000
je 0x100a5074
mov dword [esp + 0xc], 0x110000
jmp 0x100a5678
cmp ecx, 0x110000
jne 0x100a55ea
cmp eax, edi
jae 0x100a562d
mov ebx, dword [esp + 0x1c]
jmp 0x100a55ff
movzx edi, dx
cmp di, 5
jae 0x100a57d8
lea ebx, [esp + 0x14]
cmp eax, edi
jae 0x100a5637
mov ebx, dword [ebx + eax*4]
inc eax
mov dword [esp + 4], 2
jmp 0x100a5623
mov ecx, dword [esp + 0x1c]
jmp 0x100a5617
lea ecx, [esp + 0x14]
mov ebx, dword [ecx + eax*4]
inc eax
mov dword [esp + 4], 1
mov dword [esp + 8], eax
jmp 0x100a5678
mov ebx, edi
jmp 0x100a5678
mov dword [esp + 0x20], 0
jmp 0x100a5643
test dx, dx
je 0x100a5643
mov word [esp + 0x10], 0
mov ebx, dword [esp + 0xc]
mov eax, 0x110000
mov dword [esp + 0xc], eax
cmp ebx, eax
jne 0x100a5678
jmp 0x100a576a
mov dword [esp + 0xc], edi
mov byte [esp + 0x70], 0
mov dword [esp + 4], 1
mov dword [esp + 8], 0
jmp 0x100a5678
mov dword [esp + 0xc], edi
cmp ebx, 0x80
jae 0x100a56b2
mov ecx, dword [esp + 0xa0]
mov eax, dword [ecx + 8]
cmp eax, dword [ecx]
jne 0x100a56a2
push eax
push ecx
call fcn.10058365
mov ecx, dword [esp + 0xa8]
add esp, 8
mov eax, dword [ecx + 8]
mov edx, ecx
mov ecx, dword [ecx + 4]
mov byte [ecx + eax], bl
inc dword [edx + 8]
jmp 0x100a506c
mov dword [esp + 0x74], 0
mov eax, ebx
cmp ebx, 0x800
jae 0x100a56d7
shr eax, 6
or al, 0xc0
mov byte [esp + 0x74], al
mov eax, 2
xor ecx, ecx
inc ecx
jmp 0x100a572e
cmp ebx, 0x10000
jae 0x100a5701
shr eax, 0xc
or al, 0xe0
mov byte [esp + 0x74], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [esp + 0x75], al
mov eax, 3
mov ecx, 2
jmp 0x100a572e
shr eax, 0x12
or al, 0xf0
mov byte [esp + 0x74], al
mov eax, ebx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [esp + 0x75], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [esp + 0x76], al
mov eax, 4
mov ecx, 3
and bl, 0x3f
or bl, 0x80
mov byte [esp + ecx + 0x74], bl
push eax
lea eax, [esp + 0x78]
push eax
push dword [esp + 0xa8]
call fcn.1009b474
add esp, 0xc
jmp 0x100a506c
push 0x1013d374
push ebx
push edx
call fcn.10101330
push 0x1013d384
push ebx
push ecx
call fcn.10101330
cmp dword [esp + 0x2c], 0x110000
jne 0x100a5792
mov eax, dword [esp + 0x30]
test eax, eax
je 0x100a5792
shl eax, 3
push 4
push eax
push dword [esp + 0x3c]
call fcn.10007550
add esp, 0xc
mov ecx, dword [esp + 0x14]
cmp ecx, 0x110000
jne 0x100a57b4
mov eax, dword [esp + 0x18]
test eax, eax
je 0x100a57b4
shl eax, 2
push 4
push eax
push dword [esp + 0x24]
call fcn.10007550
add esp, 0xc
add esp, 0x8c
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x1013d364
push edi
push eax
call fcn.10101330
push 0x1013d3bc
push 4
push ebx
call fcn.10101620
push 0x1013d3bc
push 4
push edi
call fcn.10101620
push 0x1013d394
push eax
push edx
call fcn.10101600
push 0x1013d3cc
push 4
push eax
call fcn.10101620