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

Disassembly:
mov eax, 0x1808
call fcn.100c1e30
push ebx
push ebp
push esi
mov esi, dword [esp + 0x1818]
test esi, esi
push edi
mov dword [esp + 0x20], 0
je 0x100c88ca
mov eax, dword [esi + 0x10]
test eax, eax
je 0x100c88ca
mov edx, dword [esp + 0x1824]
test edx, edx
je 0x100c88ca
mov eax, dword [esp + 0x1820]
test eax, eax
je 0x100c88ca
mov ebp, dword [edx]
test ebp, ebp
je 0x100c88ca
mov edi, dword [edx + 4]
test edi, edi
jbe 0x100c88ca
mov ecx, dword [eax]
test ecx, ecx
je 0x100c88ca
mov ebx, dword [eax + 4]
test ebx, ebx
jbe 0x100c88ca
mov ebx, dword [esp + 0x1828]
test ebx, ebx
je 0x100c742a
mov eax, dword [esi + 0xc]
cmp ebx, eax
jle 0x100c7436
mov eax, dword [esi + 0xc]
mov ebx, eax
mov dword [esp + 0x1828], ebx
cmp dword [esi + 8], ebx
jg 0x100c88ab
cmp ebx, eax
jg 0x100c88ab
mov edx, dword [esi + 0x74]
test edx, edx
jbe 0x100c7479
cmp dword [esi + 0x58], ebx
jle 0x100c7479
mov ecx, dword [esp + 0x1820]
mov edx, dword [esp + 0x1824]
xor eax, eax
pop edi
mov dword [ecx + 4], eax
pop esi
mov dword [edx + 4], eax
pop ebp
mov eax, 0x82010401
pop ebx
add esp, 0x1808
ret
mov ebx, dword [esi + 0x3c]
mov eax, esi
sub eax, ebx
add edi, ebp
sub eax, 0x114
lea ebx, [esp + 0x98]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x1820]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x48], edi
mov eax, dword [eax + 4]
mov dword [esp + 0x24], esi
add eax, ecx
mov dword [esp + 0x50], ebx
mov dword [esp + 0xc4], eax
mov eax, dword [esi + 0x64]
test eax, eax
mov dword [esp + 0x98], esi
mov dword [esp + 0xa4], 1
mov dword [esp + 0xa8], 0
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xc0], ecx
jbe 0x100c7513
mov ecx, dword [esi + 0x68]
mov dword [esp + 0xac], eax
cmp ecx, 0xffffffff
je 0x100c7505
mov dword [esp + 0xcc], ebp
add ebp, eax
mov dword [esp + 0x10], ebp
jmp 0x100c752a
mov ecx, dword [esi + 0x5c]
add ecx, ebp
mov dword [esp + 0xcc], ecx
jmp 0x100c752a
xor eax, eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xcc], eax
test edx, edx
jbe 0x100c76e3
mov ecx, dword [esi + 0x6c]
add ecx, ebp
sub edi, ecx
cmp edi, edx
jl 0x100c76a0
mov eax, edx
sub eax, 2
je 0x100c766c
sub eax, 2
je 0x100c7645
sub eax, 4
je 0x100c7563
xor eax, eax
mov al, byte [ecx]
jmp 0x100c767a
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
mov edi, edx
mov ecx, 0x10
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
xor esi, esi
and edi, 0xff0000
call fcn.100c1f50
or esi, eax
or edi, edx
mov ecx, 0x10
mov eax, esi
mov edx, edi
call fcn.100c1f50
mov esi, dword [esp + 0x44]
xor ecx, ecx
mov edi, esi
or eax, ecx
and edi, 0xff00
mov ecx, 0x10
or edx, edi
call fcn.100c1f50
mov edi, esi
xor ecx, ecx
and edi, 0xff
or eax, ecx
or edx, edi
mov ecx, 8
call fcn.100c1f50
mov edi, dword [esp + 0x40]
mov dword [esp + 0x64], eax
mov dword [esp + 0x30], edx
mov ecx, 0x10
mov eax, edi
mov edx, esi
call fcn.100c1f70
xor ecx, ecx
and edi, 0xff00
or edx, ecx
or eax, edi
mov ecx, 0x10
call fcn.100c1f70
mov ecx, dword [esp + 0x40]
xor esi, esi
and ecx, 0xff0000
or edx, esi
or eax, ecx
mov ecx, 0x10
call fcn.100c1f70
mov ecx, dword [esp + 0x40]
or edx, esi
and ecx, 0xff000000
or eax, ecx
mov ecx, 8
call fcn.100c1f70
mov ecx, dword [esp + 0x64]
mov esi, dword [esp + 0x181c]
or ecx, eax
mov eax, dword [esp + 0x30]
or eax, edx
mov dword [esp + 0x68], eax
jmp 0x100c7681
mov ecx, dword [ecx]
mov eax, ecx
mov edx, ecx
and eax, 0xff0000
shr edx, 0x10
or eax, edx
mov edx, ecx
shl edx, 0x10
and ecx, 0xff00
or edx, ecx
shr eax, 8
shl edx, 8
or eax, edx
jmp 0x100c767a
xor eax, eax
mov ax, word [ecx]
xor ecx, ecx
mov ch, al
shr eax, 8
or eax, ecx
cdq
mov ecx, eax
mov dword [esp + 0x68], edx
xor edx, edx
mov eax, ecx
cmp ecx, edx
mov dword [esp + 0xb8], eax
jne 0x100c76b0
mov eax, dword [esp + 0x1828]
mov dword [esp + 0xb8], eax
jmp 0x100c76b0
mov eax, dword [esp + 0x1828]
xor edx, edx
mov dword [esp + 0xb8], eax
cmp dword [esi + 8], eax
jg 0x100c76bf
cmp eax, dword [esi + 0xc]
jg 0x100c76bf
cmp eax, dword [esi + 0x58]
jge 0x100c76f3
mov eax, dword [esp + 0x1820]
mov ecx, dword [esp + 0x1824]
pop edi
pop esi
mov dword [eax + 4], edx
pop ebp
mov dword [ecx + 4], edx
mov eax, 0x82010470
pop ebx
add esp, 0x1808
ret
mov edx, dword [esp + 0x1828]
mov dword [esp + 0xb8], edx
xor edx, edx
mov eax, 1
mov dword [esp + 0xbc], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0x9c], edx
mov dword [esp + 0x2c], edx
xor edi, edi
cmp dword [esp + 0x2c], edi
je 0x100c78f5
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x2c], edi
cmp eax, edi
jbe 0x100c7886
sub eax, 2
je 0x100c7859
sub eax, 2
je 0x100c7831
sub eax, 4
je 0x100c7755
mov eax, dword [ebx + 0x34]
xor ecx, ecx
mov cl, byte [eax]
mov eax, ecx
jmp 0x100c786a
mov edx, dword [ebx + 0x34]
mov ecx, 0x10
xor esi, esi
mov edi, dword [edx]
mov eax, edi
mov edx, dword [edx + 4]
mov ebp, edx
mov dword [esp + 0x94], edx
and ebp, 0xff0000
call fcn.100c1f50
or esi, eax
or ebp, edx
mov ecx, 0x10
mov eax, esi
mov edx, ebp
call fcn.100c1f50
mov esi, dword [esp + 0x94]
xor ecx, ecx
mov ebp, esi
or eax, ecx
and ebp, 0xff00
mov ecx, 0x10
or edx, ebp
call fcn.100c1f50
mov ebp, esi
xor ecx, ecx
and ebp, 0xff
or eax, ecx
or edx, ebp
mov ecx, 8
call fcn.100c1f50
mov dword [esp + 0x80], eax
mov ebp, edx
mov ecx, 0x10
mov eax, edi
mov edx, esi
call fcn.100c1f70
mov ecx, edi
xor esi, esi
and ecx, 0xff00
or edx, esi
or eax, ecx
mov ecx, 0x10
call fcn.100c1f70
mov ecx, edi
or edx, esi
and ecx, 0xff0000
or eax, ecx
mov ecx, 0x10
call fcn.100c1f70
xor ecx, ecx
and edi, 0xff000000
or edx, ecx
or eax, edi
mov ecx, 8
call fcn.100c1f70
mov ecx, dword [esp + 0x80]
or ebp, edx
or ecx, eax
mov dword [esp + 0x3c], ebp
xor edi, edi
jmp 0x100c7871
mov edx, dword [ebx + 0x34]
mov ecx, dword [edx]
mov eax, ecx
mov edx, ecx
and eax, 0xff0000
shr edx, 0x10
or eax, edx
mov edx, ecx
shl edx, 0x10
and ecx, 0xff00
or edx, ecx
shr eax, 8
shl edx, 8
jmp 0x100c7868
mov ecx, dword [ebx + 0x34]
xor eax, eax
xor edx, edx
mov ax, word [ecx]
mov dh, al
shr eax, 8
or eax, edx
cdq
mov ecx, eax
mov dword [esp + 0x3c], edx
mov ebp, dword [ebx + 0x30]
mov eax, dword [esp + 0x48]
add ebp, ecx
cmp ebp, eax
mov dword [esp + 0x10], ebp
ja 0x100c87ce
cmp dword [ebx + 0xc], edi
jle 0x100c78b1
cmp dword [ebx + 0x14], edi
jbe 0x100c78b1
cmp dword [ebx + 0x18], edi
jge 0x100c78a6
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x34], ebp
sub ebp, eax
mov dword [esp + 0x10], ebp
mov dword [ebx + 0x30], ebp
jmp 0x100c78b1
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x30], ebp
add eax, ebp
mov dword [ebx + 0x34], eax
cmp dword [esp + 0x34], 1
jle 0x100c78f5
mov eax, dword [ebx + 4]
test byte [eax + 0x44], 4
je 0x100c78db
mov ecx, dword [eax + 0x18]
mov eax, dword [ebx - 0x98]
mov esi, dword [esp + 0x24]
add eax, ecx
mov dword [ebx - 0x98], eax
mov dword [ebx + 0x24], edi
jmp 0x100c78f9
mov esi, dword [esp + 0x24]
mov eax, dword [ebx - 0x98]
mov edx, dword [esi + 0x1c]
add eax, edx
mov dword [ebx - 0x98], eax
mov dword [ebx + 0x24], edi
jmp 0x100c78f9
mov esi, dword [esp + 0x24]
cmp dword [ebx + 0xc], edi
jg 0x100c795d
mov eax, dword [esp + 0x34]
sub ebx, 0xbc
dec eax
mov dword [esp + 0x50], ebx
cmp eax, edi
mov dword [esp + 0x34], eax
jle 0x100c880c
mov eax, dword [ebx]
mov dword [esp + 0x24], eax
cmp dword [eax + 0x10], edi
je 0x100c84e9
mov esi, dword [ebx + 0x10]
mov edx, dword [eax + 0x2c]
inc esi
mov ecx, esi
mov dword [ebx + 0x10], esi
cmp ecx, edx
jl 0x100c87be
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax + 0x1c]
mov eax, dword [ebx + 0x28]
dec ecx
add eax, edx
mov dword [ebx + 0x10], edi
mov dword [ebx + 0x28], eax
mov eax, dword [ebx + 0x38]
mov dword [ebx + 0xc], ecx
mov dword [esp + 0x2c], eax
jmp 0x100c87be
mov ecx, dword [ebx + 0x10]
lea eax, [ecx + ecx*4]
lea edx, [eax + eax*8]
mov al, byte [esi + edx*4 + 0xfc]
test al, 2
lea edi, [esi + edx*4 + 0xb8]
mov dword [esp + 0x18], edi
je 0x100c7989
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x100c7a1f
jmp 0x100c7a01
mov eax, dword [edi + 0x58]
test eax, eax
jbe 0x100c79d8
mov edx, dword [edi + 0x5c]
add edx, dword [ebx + 0x28]
sub eax, 2
je 0x100c79ca
sub eax, 2
je 0x100c79bf
sub eax, 4
je 0x100c79b2
xor eax, eax
mov al, byte [edx]
cdq
mov dword [esp + 0x3c], edx
mov edx, eax
jmp 0x100c79db
mov eax, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0x3c], edx
mov edx, eax
jmp 0x100c79db
mov eax, dword [edx]
cdq
mov dword [esp + 0x3c], edx
mov edx, eax
jmp 0x100c79db
xor eax, eax
mov ax, word [edx]
cdq
mov dword [esp + 0x3c], edx
mov edx, eax
jmp 0x100c79db
mov edx, dword [edi + 0x24]
test edx, edx
mov dword [esp + 0x4c], edx
jl 0x100c87fe
mov eax, dword [edi + 0x24]
cmp eax, edx
jge 0x100c79f6
test eax, eax
jg 0x100c87fe
test edx, edx
jne 0x100c7a55
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x100c7a1f
mov edx, dword [ebx + 0xc]
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebx + 0x28]
dec edx
add ecx, eax
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebx + 0x38]
mov dword [esp + 0x2c], ecx
jmp 0x100c87be
lea eax, [ecx + 1]
mov ecx, dword [esi + 0x2c]
cmp eax, ecx
mov dword [ebx + 0x10], eax
jl 0x100c87be
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi + 0x1c]
mov eax, dword [ebx + 0x28]
dec ecx
add eax, edx
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x28], eax
mov eax, dword [ebx + 0x38]
mov dword [ebx + 0xc], ecx
mov dword [esp + 0x2c], eax
jmp 0x100c87be
mov eax, dword [ebx + 0x28]
mov esi, dword [edi + 0x2c]
add esi, eax
mov al, byte [edi + 0x44]
test al, 4
mov dword [esp + 0x14], esi
je 0x100c7a8f
mov eax, dword [edi + 8]
mov esi, dword [esi]
cmp eax, 1
mov dword [esp + 0x14], esi
jle 0x100c7a7d
mov ecx, dword [edi + 0x14]
add ecx, esi
jmp 0x100c7a92
mov ecx, dword [edi + 0x78]
mov eax, dword [esp + 0x6c]
mov ecx, dword [ecx + eax + 0x130]
add ecx, esi
jmp 0x100c7a92
mov ecx, dword [ebx + 0x2c]
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x28], ecx
cmp dword [edi + 4], eax
jle 0x100c7c37
mov eax, dword [edi + 0x98]
cmp eax, 0xffffffff
mov dword [esp + 0x30], eax
jne 0x100c7af1
mov eax, dword [edi + 0x20]
test eax, eax
jbe 0x100c7abf
imul eax, edx
mov edi, eax
jmp 0x100c7ac5
mov edi, dword [edi + 0x18]
imul edi, edx
sub ecx, esi
cmp ecx, edi
jge 0x100c7ad8
mov dword [esp + 0x20], 0x82010407
jmp 0x100c7bc5
mov ecx, edi
xor eax, eax
mov edx, ecx
mov edi, esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
jmp 0x100c7bc5
mov eax, dword [edi + 8]
cmp eax, 0x15
je 0x100c7b07
cmp eax, 0x16
je 0x100c7b07
mov eax, dword [edi + 0x18]
mov dword [esp + 0x1c], eax
jmp 0x100c7b16
mov eax, dword [edi + 0x20]
test eax, eax
ja 0x100c7b12
mov eax, ecx
sub eax, esi
mov dword [esp + 0x1c], eax
sub ecx, esi
cmp ecx, eax
jge 0x100c7b22
mov eax, ecx
mov dword [esp + 0x1c], eax
mov ecx, dword [edi + 0x8c]
cmp eax, ecx
jge 0x100c7b39
mov dword [esp + 0x20], 0x82010407
jmp 0x100c7bc5
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x6c]
test edx, edx
lea eax, [eax + edi + 0x114]
mov dword [esp + 0x30], eax
jle 0x100c7bc5
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x28], edx
cmp ecx, 0x40
ja 0x100c7b7a
xor edi, edi
test ecx, ecx
jbe 0x100c7ba0
mov cl, byte [eax]
mov edx, dword [esp + 0x18]
mov byte [esi], cl
inc esi
mov ecx, dword [edx + 0x8c]
inc eax
inc edi
cmp edi, ecx
jb 0x100c7b63
jmp 0x100c7ba0
mov esi, eax
mov eax, dword [esp + 0x14]
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
add eax, dword [ecx + 0x8c]
mov dword [esp + 0x14], eax
mov esi, eax
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x30]
mov ecx, dword [edx + 0x8c]
mov edx, dword [esp + 0x1c]
sub edx, ecx
add esi, edx
mov edx, dword [esp + 0x28]
dec edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x28], edx
jne 0x100c7b58
test dword [esp + 0x20], 0x80000000
jne 0x100c87d8
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x10]
test eax, eax
jne 0x100c7bfc
mov edx, dword [ebx + 0xc]
mov eax, dword [ecx + 0x1c]
mov ecx, dword [ebx + 0x28]
dec edx
add ecx, eax
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebx + 0x38]
mov dword [esp + 0x2c], ecx
jmp 0x100c87be
mov eax, dword [ebx + 0x10]
mov edx, dword [ecx + 0x2c]
inc eax
cmp eax, edx
mov dword [ebx + 0x10], eax
jl 0x100c87be
mov edx, dword [ebx + 0xc]
mov dword [ebx + 0x10], 0
dec edx
mov dword [ebx + 0xc], edx
mov edx, dword [esp + 0x24]
mov ecx, dword [ebx + 0x28]
mov eax, dword [edx + 0x1c]
add ecx, eax
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebx + 0x38]
mov dword [esp + 0x2c], ecx
jmp 0x100c87be
mov eax, dword [edi + 8]
cmp eax, 1
jle 0x100c8390
sub eax, 0x15
je 0x100c80b1
dec eax
je 0x100c7e65
mov eax, dword [edi + 0x18]
imul eax, edx
add eax, esi
cmp eax, ecx
jbe 0x100c7c6c
mov dword [esp + 0x20], 0x82010407
jmp 0x100c8303
mov eax, dword [edi + 0x1c]
mov ecx, eax
imul ecx, edx
add ecx, ebp
cmp ecx, dword [esp + 0x48]
jbe 0x100c7c89
mov dword [esp + 0x20], 0x82010402
jmp 0x100c8303
dec eax
je 0x100c7e14
dec eax
je 0x100c7dec
sub eax, 2
je 0x100c7d9d
test edx, edx
jle 0x100c8303
mov dword [esp + 0x28], edx
mov esi, dword [ebp]
mov ebp, dword [ebp + 4]
mov ebx, ebp
mov ecx, 0x10
mov eax, esi
mov edx, ebp
xor edi, edi
and ebx, 0xff0000
call fcn.100c1f50
or edi, eax
or ebx, edx
mov ecx, 0x10
mov eax, edi
mov edx, ebx
call fcn.100c1f50
mov edi, ebp
xor ecx, ecx
and edi, 0xff00
or eax, ecx
or edx, edi
mov ecx, 0x10
call fcn.100c1f50
mov edi, ebp
xor ecx, ecx
and edi, 0xff
or eax, ecx
or edx, edi
mov ecx, 8
call fcn.100c1f50
mov edi, eax
mov ebx, edx
mov ecx, 0x10
mov eax, esi
mov edx, ebp
call fcn.100c1f70
mov ecx, esi
xor ebp, ebp
and ecx, 0xff00
or edx, ebp
or eax, ecx
mov ecx, 0x10
call fcn.100c1f70
mov ecx, esi
or edx, ebp
and ecx, 0xff0000
or eax, ecx
mov ecx, 0x10
call fcn.100c1f70
xor ecx, ecx
and esi, 0xff000000
or edx, ecx
or eax, esi
mov ecx, 8
call fcn.100c1f70
or edi, eax
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
or ebx, edx
mov dword [eax], edi
mov dword [eax + 4], ebx
add eax, 8
add ebp, 8
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x28]
dec eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0x28], eax
jne 0x100c7cac
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x14]
jmp 0x100c82ff
test edx, edx
jle 0x100c8303
mov dword [esp + 0x28], edx
mov eax, dword [ebp]
add esi, 4
mov edx, eax
mov ecx, eax
and edx, 0xff0000
add ebp, 4
shr ecx, 0x10
or edx, ecx
mov ecx, eax
shl ecx, 0x10
and eax, 0xff00
or ecx, eax
mov eax, dword [esp + 0x28]
shr edx, 8
shl ecx, 8
or edx, ecx
dec eax
mov dword [esi - 4], edx
mov dword [esp + 0x28], eax
jne 0x100c7da9
mov dword [esp + 0x10], ebp
jmp 0x100c8303
test edx, edx
jle 0x100c8303
mov ax, word [ebp]
xor ecx, ecx
mov cl, ah
add esi, 2
mov ch, al
add ebp, 2
mov word [esi - 2], cx
dec edx
jne 0x100c7df4
mov dword [esp + 0x10], ebp
jmp 0x100c8303
cmp edx, 0x40
jg 0x100c7e34
test edx, edx
jbe 0x100c8303
mov al, byte [ebp]
mov byte [esi], al
inc esi
inc ebp
dec edx
jne 0x100c7e21
mov dword [esp + 0x10], ebp
jmp 0x100c8303
mov eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x14]
mov ecx, eax
mov esi, ebp
mov edx, ecx
add ebp, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov dword [esp + 0x10], ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
add ecx, eax
mov dword [esp + 0x14], ecx
mov esi, ecx
jmp 0x100c82ff
test edx, edx
mov dword [esp + 0x30], 0
jle 0x100c8303
jmp 0x100c7e7f
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
mov eax, dword [edi + 0x20]
test eax, eax
jne 0x100c7e8e
sub ecx, esi
mov dword [esp + 0x1c], ecx
jmp 0x100c7e92
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x50]
mov edx, dword [esp + 0x48]
lea ecx, [eax + ebp]
cmp ecx, edx
mov dword [esp + 0x10], ecx
jae 0x100c80a0
sub eax, 2
je 0x100c7fd0
sub eax, 2
je 0x100c7fa8
sub eax, 4
je 0x100c7ec9
xor eax, eax
mov al, byte [ebp]
jmp 0x100c7fdf
mov edx, dword [ebp + 4]
mov esi, dword [ebp]
mov ebx, edx
mov ecx, 0x10
mov eax, esi
xor edi, edi
and ebx, 0xff0000
call fcn.100c1f50
or edi, eax
or ebx, edx
mov ecx, 0x10
mov eax, edi
mov edx, ebx
call fcn.100c1f50
mov edi, dword [ebp + 4]
xor ecx, ecx
mov ebx, edi
or eax, ecx
and ebx, 0xff00
mov ecx, 0x10
or edx, ebx
call fcn.100c1f50
mov ebx, edi
xor ecx, ecx
and ebx, 0xff
or eax, ecx
or edx, ebx
mov ecx, 8
call fcn.100c1f50
mov ebx, eax
mov dword [esp + 0x74], edx
mov ecx, 0x10
mov eax, esi
mov edx, edi
call fcn.100c1f70
mov ecx, esi
xor edi, edi
and ecx, 0xff00
or edx, edi
or eax, ecx
mov ecx, 0x10
call fcn.100c1f70
mov ecx, esi
or edx, edi
and ecx, 0xff0000
or eax, ecx
mov ecx, 0x10
call fcn.100c1f70
xor ecx, ecx
and esi, 0xff000000
or edx, ecx
or eax, esi
mov ecx, 8
call fcn.100c1f70
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
or ebx, eax
mov eax, dword [esp + 0x74]
or eax, edx
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
jmp 0x100c7fe8
mov ecx, dword [ebp]
mov eax, ecx
mov edx, ecx
and eax, 0xff0000
shr edx, 0x10
or eax, edx
mov edx, ecx
shl edx, 0x10
and ecx, 0xff00
or edx, ecx
shr eax, 8
shl edx, 8
or eax, edx
jmp 0x100c7fdf
xor eax, eax
xor ecx, ecx
mov ax, word [ebp]
mov ch, al
shr eax, 8
or eax, ecx
cdq
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], edx
test edx, edx
jl 0x100c80a0
jg 0x100c7ffb
cmp eax, 2
jb 0x100c80a0
mov edi, dword [edi + 0x50]
lea ecx, [eax + edi]
mov edi, dword [esp + 0x48]
sub edi, ebp
cmp edi, ecx
jl 0x100c82e5
xor edi, edi
cmp edx, edi
jg 0x100c82f3
mov edx, dword [esp + 0x1c]
jl 0x100c8027
cmp eax, edx
ja 0x100c82f3
cmp word [ecx + ebp - 2], 0
jne 0x100c82f3
mov ebp, dword [esp + 0x10]
cmp eax, 0x40
ja 0x100c804e
test eax, eax
jbe 0x100c807a
mov edi, eax
mov cl, byte [ebp]
mov byte [esi], cl
inc esi
inc ebp
dec edi
jne 0x100c8042
jmp 0x100c807a
mov eax, dword [esp + 0x5c]
mov edi, dword [esp + 0x14]
mov ecx, eax
mov esi, ebp
mov edx, ecx
add ebp, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x1c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
add ecx, eax
mov dword [esp + 0x14], ecx
mov esi, ecx
mov ecx, dword [esp + 0x4c]
sub edx, eax
mov eax, dword [esp + 0x30]
add esi, edx
inc eax
mov dword [esp + 0x14], esi
cmp eax, ecx
mov dword [esp + 0x30], eax
jl 0x100c7e77
mov dword [esp + 0x10], ebp
jmp 0x100c82ff
mov dword [esp + 0x10], ebp
mov dword [esp + 0x20], 0x82010402
jmp 0x100c8303
test edx, edx
mov dword [esp + 0x30], 0
jle 0x100c8303
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0x20]
test eax, eax
jne 0x100c80d2
mov eax, dword [esp + 0x28]
sub eax, esi
mov edx, dword [esp + 0x48]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x50]
lea ecx, [eax + ebp]
cmp ecx, edx
mov dword [esp + 0x10], ecx
jae 0x100c80a0
sub eax, 2
je 0x100c820a
sub eax, 2
je 0x100c81e2
sub eax, 4
je 0x100c8109
xor eax, eax
mov al, byte [ebp]
jmp 0x100c8219
mov edx, dword [ebp + 4]
mov esi, dword [ebp]
mov ebx, edx
mov ecx, 0x10
mov eax, esi
xor edi, edi
and ebx, 0xff0000
call fcn.100c1f50
or edi, eax
or ebx, edx
mov ecx, 0x10
mov eax, edi
mov edx, ebx
call fcn.100c1f50
mov edi, dword [ebp + 4]
xor ecx, ecx
mov ebx, edi
or eax, ecx
and ebx, 0xff00
mov ecx, 0x10
or edx, ebx
call fcn.100c1f50
mov ebx, edi
xor ecx, ecx
and ebx, 0xff
or eax, ecx
or edx, ebx
mov ecx, 8
call fcn.100c1f50
mov ebx, eax
mov dword [esp + 0x7c], edx
mov ecx, 0x10
mov eax, esi
mov edx, edi
call fcn.100c1f70
mov ecx, esi
xor edi, edi
and ecx, 0xff00
or edx, edi
or eax, ecx
mov ecx, 0x10
call fcn.100c1f70
mov ecx, esi
or edx, edi
and ecx, 0xff0000
or eax, ecx
mov ecx, 0x10
call fcn.100c1f70
xor ecx, ecx
and esi, 0xff000000
or edx, ecx
or eax, esi
mov ecx, 8
call fcn.100c1f70
mov esi, dword [esp + 0x14]
or ebx, eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
or eax, edx
mov dword [esp + 0x58], eax
mov edi, eax
jmp 0x100c8226
mov ecx, dword [ebp]
mov eax, ecx
mov edx, ecx
and eax, 0xff0000
shr edx, 0x10
or eax, edx
mov edx, ecx
shl edx, 0x10
and ecx, 0xff00
or edx, ecx
shr eax, 8
shl edx, 8
or eax, edx
jmp 0x100c8219
xor eax, eax
xor ecx, ecx
mov ax, word [ebp]
mov ch, al
shr eax, 8
or eax, ecx
cdq
mov ecx, eax
mov edi, edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edi
test edi, edi
jl 0x100c82e5
jg 0x100c8239
cmp ecx, 1
jb 0x100c82e5
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x50]
mov edx, dword [esp + 0x48]
add eax, ecx
sub edx, ebp
cmp edx, eax
mov dword [esp + 0x38], eax
jl 0x100c82e5
mov eax, dword [esp + 0x1c]
cdq
cmp edi, edx
jg 0x100c82f3
jl 0x100c826b
cmp ecx, eax
ja 0x100c82f3
mov eax, dword [esp + 0x38]
mov dl, byte [eax + ebp - 1]
test dl, dl
jne 0x100c82f3
mov ebp, dword [esp + 0x10]
cmp ecx, 0x40
ja 0x100c8292
test ecx, ecx
jbe 0x100c82be
mov edi, ecx
mov dl, byte [ebp]
mov byte [esi], dl
inc esi
inc ebp
dec edi
jne 0x100c8286
jmp 0x100c82be
mov eax, dword [esp + 0x54]
mov edi, dword [esp + 0x14]
mov ecx, eax
mov esi, ebp
mov edx, ecx
add ebp, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
add ecx, eax
mov dword [esp + 0x14], ecx
mov ecx, eax
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
sub eax, ecx
mov ecx, dword [esp + 0x4c]
add esi, eax
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x14], esi
cmp eax, ecx
mov dword [esp + 0x30], eax
jl 0x100c80c1
mov dword [esp + 0x10], ebp
jmp 0x100c82ff
mov dword [esp + 0x10], ebp
mov dword [esp + 0x20], 0x82010402
jmp 0x100c82ff
mov dword [esp + 0x10], ebp
mov dword [esp + 0x20], 0x82010406
mov edi, dword [esp + 0x18]
test byte [edi + 0x44], 4
je 0x100c8316
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x2c]
add eax, ecx
mov dword [ebx + 0x24], eax
jmp 0x100c831c
sub esi, dword [ebx + 0x28]
mov dword [ebx + 0x24], esi
test dword [esp + 0x20], 0x80000000
jne 0x100c880c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x10]
test eax, eax
jne 0x100c8353
mov edx, dword [ebx + 0xc]
mov ecx, dword [ecx + 0x1c]
mov eax, dword [ebx + 0x28]
dec edx
mov dword [ebx + 0xc], edx
mov edx, dword [ebx + 0x38]
add eax, ecx
mov dword [esp + 0x2c], edx
mov dword [ebx + 0x28], eax
jmp 0x100c87be
mov esi, dword [ebx + 0x10]
mov edx, dword [ecx + 0x2c]
inc esi
mov eax, esi
mov dword [ebx + 0x10], esi
cmp eax, edx
jl 0x100c87be
mov ecx, dword [ebx + 0xc]
mov eax, dword [esp + 0x24]
mov edx, dword [ebx + 0x38]
dec ecx
mov dword [ebx + 0xc], ecx
mov ecx, dword [eax + 0x1c]
mov eax, dword [ebx + 0x28]
mov dword [ebx + 0x10], 0
add eax, ecx
mov dword [esp + 0x2c], edx
mov dword [ebx + 0x28], eax
jmp 0x100c87be
cmp dword [esp + 0x34], 0x20
jge 0x100c87e4
test eax, eax
jne 0x100c8542
mov ecx, dword [edi + 0x68]
mov esi, dword [ebx + 0x28]
mov eax, dword [edi + 0x64]
add ecx, esi
sub eax, 2
je 0x100c83d6
sub eax, 2
je 0x100c83d2
sub eax, 4
je 0x100c83c3
xor eax, eax
mov al, byte [ecx]
jmp 0x100c83db
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
jmp 0x100c83e4
mov eax, dword [ecx]
jmp 0x100c83db
xor eax, eax
mov ax, word [ecx]
cdq
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
mov edx, dword [edi + 0x78]
mov ecx, dword [esp + 0x6c]
mov esi, dword [edx + ecx + 0x24c]
lea edx, [edx + ecx + 0x114]
xor ecx, ecx
mov dword [esp + 0x24], edx
cmp esi, dword [edx + 0x134]
lea edi, [edx + 0x134]
mov dword [esp + 0x38], edi
setg cl
dec ecx
mov dword [esp + 0x1c], ecx
mov ecx, eax
sub ecx, esi
js 0x100c843e
cmp ecx, dword [edx + 0x2c]
jge 0x100c843e
lea esi, [ecx + ecx*4]
lea esi, [esi + esi*8]
mov edi, dword [edx + esi*4 + 0x138]
lea esi, [edx + esi*4]
cmp edi, eax
jne 0x100c843e
cmp edi, dword [esi + 0x134]
jle 0x100c84b1
mov edx, dword [edx + 0x2c]
cmp edx, 0x10
jge 0x100c846c
xor esi, esi
test edx, edx
jle 0x100c84b5
mov ecx, dword [esp + 0x38]
cmp dword [ecx + 4], eax
jg 0x100c8459
cmp eax, dword [ecx]
jle 0x100c8466
inc esi
add ecx, 0xb4
cmp esi, edx
jl 0x100c8450
jmp 0x100c84b5
mov dword [esp + 0x1c], esi
jmp 0x100c84b5
lea esi, [edx - 1]
xor eax, eax
test esi, esi
jl 0x100c84b5
lea ecx, [esi + eax]
mov edi, dword [esp + 0x24]
sar ecx, 1
lea edx, [ecx + ecx*4]
lea edx, [edx + edx*8]
lea edx, [edi + edx*4]
mov edi, dword [edx + 0x138]
mov edx, dword [edx + 0x134]
cmp edi, edx
jg 0x100c84a8
cmp dword [esp + 0x40], edi
jge 0x100c84a2
lea esi, [ecx - 1]
jmp 0x100c84ab
cmp dword [esp + 0x40], edx
jle 0x100c84b1
lea eax, [ecx + 1]
cmp eax, esi
jle 0x100c8475
jmp 0x100c84b5
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
je 0x100c84dc
mov esi, dword [esp + 0x24]
lea ecx, [eax + eax*4]
lea edx, [ecx + ecx*8]
mov ecx, dword [ebx + 0x20]
cmp dword [esi + edx*4 + 0xbc], ecx
jg 0x100c84dc
test esi, esi
jne 0x100c8562
mov eax, dword [ebx]
mov dword [esp + 0x24], eax
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x100c8507
mov edx, dword [ebx + 0xc]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebx + 0x28]
dec edx
add ecx, eax
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebx + 0x38]
mov dword [esp + 0x2c], ecx
jmp 0x100c87be
mov ecx, dword [ebx + 0x10]
mov edx, dword [eax + 0x2c]
inc ecx
cmp ecx, edx
mov dword [ebx + 0x10], ecx
jl 0x100c87be
mov edx, dword [ebx + 0xc]
mov dword [ebx + 0x10], 0
dec edx
mov dword [ebx + 0xc], edx
mov edx, dword [esp + 0x24]
mov ecx, dword [ebx + 0x28]
mov eax, dword [edx + 0x1c]
add ecx, eax
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebx + 0x38]
mov dword [esp + 0x2c], ecx
jmp 0x100c87be
mov edx, dword [edi + 0x78]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x1c], 0
lea ecx, [edx + eax + 0x114]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
mov esi, ecx
mov edi, dword [esp + 0x34]
add ebx, 0xbc
mov edx, dword [esp + 0x4c]
inc edi
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x34], edi
mov dword [ebx + 0x28], eax
mov eax, dword [esi + 0x64]
xor edi, edi
cmp eax, edi
mov dword [esp + 0x50], ebx
mov dword [ebx + 0x24], edi
mov dword [ebx], esi
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x30], ebp
jbe 0x100c85ca
mov ecx, dword [esi + 0x68]
mov dword [ebx + 0x14], eax
cmp ecx, 0xffffffff
je 0x100c85b8
mov ecx, eax
mov dword [ebx + 0x34], ebp
neg ecx
add ebp, eax
mov dword [ebx + 0x18], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x10], ebp
jmp 0x100c8616
mov eax, dword [esi + 0x5c]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0x18], eax
lea edx, [eax + ebp]
mov dword [ebx + 0x34], edx
jmp 0x100c8616
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x50]
cmp eax, edi
jbe 0x100c8613
mov edx, dword [ecx + 0x54]
mov dword [ebx + 0x14], eax
cmp edx, 0xffffffff
je 0x100c85f0
mov dword [ebx + 0x34], ebp
add ebp, eax
neg eax
mov dword [esp + 0x10], ebp
mov dword [ebx + 0x18], eax
jmp 0x100c8616
mov eax, dword [ecx + 0x48]
mov edx, dword [ecx + 0x28]
cmp eax, edx
jl 0x100c8606
sub eax, edx
mov dword [ebx + 0x18], eax
add eax, ebp
mov dword [ebx + 0x34], eax
jmp 0x100c8616
mov edx, dword [ebx - 0x8c]
add edx, eax
mov dword [ebx + 0x34], edx
jmp 0x100c8616
mov dword [ebx + 0x14], edi
mov eax, dword [esp + 0x28]
mov dword [ebx + 0x30], ebp
mov dword [ebx + 0x2c], eax
mov eax, dword [esi + 0x74]
cmp eax, edi
mov dword [ebx + 4], ecx
mov dword [ebx + 0x38], 1
jbe 0x100c87a6
mov ecx, dword [esi + 0x6c]
mov edx, dword [esp + 0x48]
add ecx, ebp
sub edx, ecx
cmp edx, eax
jl 0x100c879b
sub eax, 2
je 0x100c8774
sub eax, 2
je 0x100c874d
sub eax, 4
je 0x100c8668
xor eax, eax
mov al, byte [ecx]
jmp 0x100c8782
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
mov edi, edx
mov ecx, 0x10
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], edx
xor esi, esi
and edi, 0xff0000
call fcn.100c1f50
or esi, eax
or edi, edx
mov ecx, 0x10
mov eax, esi
mov edx, edi
call fcn.100c1f50
mov esi, dword [esp + 0x68]
xor ecx, ecx
mov edi, esi
or eax, ecx
and edi, 0xff00
mov ecx, 0x10
or edx, edi
call fcn.100c1f50
mov edi, esi
xor ecx, ecx
and edi, 0xff
or eax, ecx
or edx, edi
mov ecx, 8
call fcn.100c1f50
mov edi, dword [esp + 0x64]
mov dword [esp + 0x88], eax
mov dword [esp + 0x38], edx
mov ecx, 0x10
mov eax, edi
mov edx, esi
call fcn.100c1f70
xor ecx, ecx
and edi, 0xff00
or edx, ecx
or eax, edi
mov ecx, 0x10
call fcn.100c1f70
mov ecx, dword [esp + 0x64]
xor esi, esi
and ecx, 0xff0000
or edx, esi
or eax, ecx
mov ecx, 0x10
call fcn.100c1f70
mov ecx, dword [esp + 0x64]
or edx, esi
and ecx, 0xff000000
or eax, ecx
mov ecx, 8
call fcn.100c1f70
mov ecx, dword [esp + 0x88]
mov esi, dword [esp + 0x24]
or ecx, eax
mov eax, dword [esp + 0x38]
or eax, edx
mov dword [esp + 0x3c], eax
jmp 0x100c8789
mov ecx, dword [ecx]
mov eax, ecx
mov edx, ecx
and eax, 0xff0000
shr edx, 0x10
or eax, edx
mov edx, ecx
shl edx, 0x10
and ecx, 0xff00
or edx, ecx
shr eax, 8
shl edx, 8
or eax, edx
jmp 0x100c8782
xor eax, eax
mov ax, word [ecx]
xor ecx, ecx
mov ch, al
shr eax, 8
or eax, ecx
cdq
mov ecx, eax
mov dword [esp + 0x3c], edx
test ecx, ecx
mov dword [ebx + 0x20], ecx
jne 0x100c87af
mov edx, dword [ebx - 0x9c]
mov dword [ebx + 0x20], edx
jmp 0x100c87af
mov eax, dword [ebx - 0x9c]
mov dword [ebx + 0x20], eax
jmp 0x100c87af
mov ecx, dword [ebx - 0x9c]
mov dword [ebx + 0x20], ecx
mov eax, dword [ebx + 0x20]
mov ecx, dword [esi + 8]
cmp ecx, eax
jg 0x100c87f4
cmp eax, dword [esi + 0x58]
jl 0x100c87f4
mov eax, dword [esp + 0x34]
xor edi, edi
cmp eax, edi
jg 0x100c7717
jmp 0x100c880c
mov dword [esp + 0x20], 0x82010402
jmp 0x100c880c
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x2c]
mov dword [ebx + 0x24], eax
jmp 0x100c880c
mov ecx, dword [edi + 0x2c]
mov dword [esp + 0x20], 0x82010404
mov dword [ebx + 0x24], ecx
jmp 0x100c880c
mov dword [esp + 0x20], 0x82010401
jmp 0x100c880c
mov edx, dword [edi + 0x2c]
mov dword [esp + 0x20], 0x82010403
mov dword [ebx + 0x24], edx
mov edx, dword [esp + 0x1820]
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0xbc]
test esi, 0x80000000
mov dword [edx + 4], eax
je 0x100c8892
mov ecx, dword [esp + 0x34]
mov eax, 1
cmp ecx, eax
jle 0x100c8892
lea ecx, [esp + 0x178]
mov edi, dword [ecx - 0x20]
test byte [edi + 0x44], 4
jne 0x100c8878
mov edi, dword [ecx]
mov ebx, dword [edx + 4]
add ebx, edi
mov edi, dword [esp + 0x34]
inc eax
add ecx, 0xbc
cmp eax, edi
mov dword [edx + 4], ebx
jl 0x100c883d
mov eax, dword [esp + 0x1824]
pop edi
sub ebp, dword [eax]
mov dword [eax + 4], ebp
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x1808
ret
lea ecx, [eax + eax*2]
shl ecx, 4
sub ecx, eax
mov eax, dword [esp + ecx*4 + 0x9c]
mov ecx, dword [eax + 0x18]
mov eax, dword [edx + 4]
add eax, ecx
mov dword [edx + 4], eax
mov eax, dword [esp + 0x1824]
pop edi
sub ebp, dword [eax]
mov dword [eax + 4], ebp
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x1808
ret
mov ecx, dword [esp + 0x1820]
xor eax, eax
pop edi
pop esi
mov dword [ecx + 4], eax
mov dword [edx + 4], eax
pop ebp
mov eax, 0x82010401
pop ebx
add esp, 0x1808
ret
pop edi
pop esi
pop ebp
mov eax, 0x82010468
pop ebx
add esp, 0x1808
ret