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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x70
mov eax, dword [0x102a2000]
xor eax, ebp
mov dword [esp + 0x68], eax
mov eax, dword [0x102a2c14]
cmp eax, 5
ja case.default.0x1007727b
mov esi, dword [0x102a235c]
jmp dword [eax*4 + 0x1014a218]
mov eax, 0xcd1ef9ad
mov ecx, 0x7499a0e
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, 0x4501f6ef
mov ecx, 0x103c4d8e
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, 0xe35f1618
mov ecx, 0xd57687d0
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov ecx, 0x7c5d5e1c
mov eax, 0x41658ea0
mov edx, 0x41658ea0
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov ecx, 0xaa6c98d9
mov edx, 0x6f69ee6b
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ecx
mov ecx, 0x2a638286
mov edx, 0x334f28f6
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], ecx
mov ecx, 0x843e643b
mov edx, 0xa017d8b5
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], ecx
mov ecx, 0x7c5d3168
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], ecx
lea ebx, [esp + 0x30]
xor eax, eax
mov ecx, ebx
movaps xmm0, xmmword [esp]
xorps xmm0, xmmword [ecx]
movaps xmmword [esp], xmm0
movaps xmm0, xmmword [esp + 0x10]
xorps xmm0, xmmword [ecx + 0x10]
movaps xmmword [esp + 0x10], xmm0
mov eax, esp
push 0
push 0x1016edaa
push eax
call fcn.100cc810
add esp, 0xc
test al, al
je case.default.0x1007727b
lea edi, [esi + 0x28]
movzx eax, byte [esi + 0x28]
and al, 1
mov byte [0x102a2c24], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c24
push dword [0x102a1ad0]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c24]
mov eax, dword [esi + 0x28]
mov edx, eax
and edx, 0xfffffffe
or edx, ecx
mov dword [esi + 0x28], edx
shr al, 1
and al, 1
mov byte [0x102a2c25], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c25
push dword [0x102a1ad4]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c25]
mov eax, dword [esi + 0x28]
mov edx, eax
and edx, 0xfffffffd
add ecx, ecx
or ecx, edx
mov dword [esi + 0x28], ecx
shr al, 2
and al, 1
mov byte [0x102a2c26], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c26
push dword [0x102a1ad8]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c26]
mov eax, dword [esi + 0x28]
mov edx, eax
and edx, 0xfffffffb
shl ecx, 2
or ecx, edx
mov dword [esi + 0x28], ecx
shr al, 3
and al, 1
mov byte [0x102a2c27], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c27
push dword [0x102a1adc]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c27]
mov eax, dword [esi + 0x28]
mov edx, eax
and edx, 0xfffffff7
shl ecx, 3
or ecx, edx
mov dword [esi + 0x28], ecx
shr al, 4
and al, 1
mov byte [0x102a2c28], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c28
push dword [0x102a1ae0]
call fcn.100dea60
add esp, 0x10
mov eax, 0x102a2c28
jmp 0x10077e7f
mov eax, 0xcd1ef9ad
mov ecx, 0x7499a0e
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, 0x4501f6ef
mov ecx, 0x103c4d8e
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, 0xe35f1618
mov ecx, 0xc36487d0
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov ecx, 0x7c294407
mov eax, 0x41658ea0
mov edx, 0x41658ea0
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov ecx, 0xaa6c98d9
mov edx, 0x6f69ee6b
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ecx
mov ecx, 0x2a638286
mov edx, 0x334f28f6
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], ecx
mov ecx, 0x843e643b
mov edx, 0xa017d8b5
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], ecx
mov ecx, 0x7c5d3168
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], ecx
lea ebx, [esp + 0x30]
xor eax, eax
mov ecx, ebx
movaps xmm0, xmmword [esp]
xorps xmm0, xmmword [ecx]
movaps xmmword [esp], xmm0
movaps xmm0, xmmword [esp + 0x10]
xorps xmm0, xmmword [ecx + 0x10]
movaps xmmword [esp + 0x10], xmm0
mov eax, esp
push 0
push 0x1016edaa
push eax
call fcn.100cc810
add esp, 0xc
test al, al
je case.default.0x1007727b
lea edi, [esi + 0x2c]
movzx eax, byte [esi + 0x2c]
and al, 1
mov byte [0x102a2c29], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c29
push dword [0x102a1ad0]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c29]
mov eax, dword [esi + 0x2c]
mov edx, eax
and edx, 0xfffffffe
or edx, ecx
mov dword [esi + 0x2c], edx
shr al, 1
and al, 1
mov byte [0x102a2c2a], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c2a
push dword [0x102a1ad4]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c2a]
mov eax, dword [esi + 0x2c]
mov edx, eax
and edx, 0xfffffffd
add ecx, ecx
or ecx, edx
mov dword [esi + 0x2c], ecx
shr al, 2
and al, 1
mov byte [0x102a2c2b], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c2b
push dword [0x102a1ad8]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c2b]
mov eax, dword [esi + 0x2c]
mov edx, eax
and edx, 0xfffffffb
shl ecx, 2
or ecx, edx
mov dword [esi + 0x2c], ecx
shr al, 3
and al, 1
mov byte [0x102a2c2c], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c2c
push dword [0x102a1adc]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c2c]
mov eax, dword [esi + 0x2c]
mov edx, eax
and edx, 0xfffffff7
shl ecx, 3
or ecx, edx
mov dword [esi + 0x2c], ecx
shr al, 4
and al, 1
mov byte [0x102a2c2d], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c2d
push dword [0x102a1ae0]
call fcn.100dea60
add esp, 0x10
mov eax, 0x102a2c2d
jmp 0x10077e7f
mov eax, 0xcd1ef9ad
mov ecx, 0x7499a0e
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, 0x4501f6ef
mov ecx, 0x103c4d8e
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, 0xe35f1618
mov ecx, 0xd77687d0
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov ecx, 0x7c5d3118
mov eax, 0x41658ea0
mov edx, 0x41658ea0
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov ecx, 0xaa6c98d9
mov edx, 0x6f69ee6b
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ecx
mov ecx, 0x2a638286
mov edx, 0x334f28f6
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], ecx
mov ecx, 0x843e643b
mov edx, 0xa017d8b5
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], ecx
mov ecx, 0x7c5d3168
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], ecx
lea ebx, [esp + 0x30]
xor eax, eax
mov ecx, ebx
movaps xmm0, xmmword [esp]
xorps xmm0, xmmword [ecx]
movaps xmmword [esp], xmm0
movaps xmm0, xmmword [esp + 0x10]
xorps xmm0, xmmword [ecx + 0x10]
movaps xmmword [esp + 0x10], xmm0
mov eax, esp
push 0
push 0x1016edaa
push eax
call fcn.100cc810
add esp, 0xc
test al, al
je case.default.0x1007727b
lea edi, [esi + 0x30]
movzx eax, byte [esi + 0x30]
and al, 1
mov byte [0x102a2c2e], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c2e
push dword [0x102a1ad0]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c2e]
mov eax, dword [esi + 0x30]
mov edx, eax
and edx, 0xfffffffe
or edx, ecx
mov dword [esi + 0x30], edx
shr al, 1
and al, 1
mov byte [0x102a2c2f], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c2f
push dword [0x102a1ad4]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c2f]
mov eax, dword [esi + 0x30]
mov edx, eax
and edx, 0xfffffffd
add ecx, ecx
or ecx, edx
mov dword [esi + 0x30], ecx
shr al, 2
and al, 1
mov byte [0x102a2c30], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c30
push dword [0x102a1ad8]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c30]
mov eax, dword [esi + 0x30]
mov edx, eax
and edx, 0xfffffffb
shl ecx, 2
or ecx, edx
mov dword [esi + 0x30], ecx
shr al, 3
and al, 1
mov byte [0x102a2c31], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c31
push dword [0x102a1adc]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c31]
mov eax, dword [esi + 0x30]
mov edx, eax
and edx, 0xfffffff7
shl ecx, 3
or ecx, edx
mov dword [esi + 0x30], ecx
shr al, 4
and al, 1
mov byte [0x102a2c32], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c32
push dword [0x102a1ae0]
call fcn.100dea60
add esp, 0x10
mov eax, 0x102a2c32
jmp 0x10077e7f
mov eax, 0xcd1ef9ad
mov ecx, 0x7499a0e
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, 0x4501f6ef
mov ecx, 0x103c4d8e
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, 0xe35f1618
mov ecx, 0xc57f87d0
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov eax, 0x23244709
mov ecx, 0x3516e7d0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
mov ecx, 0x763d90f2
mov eax, 0x3d26fe1f
mov edx, 0x3d26fe1f
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
mov ecx, 0x13696a0a
mov edx, 0x92a2483a
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], ecx
mov edi, 0xaa6c98d9
mov ebx, 0x6f69ee6b
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], edi
mov edi, 0x2a638286
mov ebx, 0x334f28f6
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], edi
mov edi, 0x843e643b
mov ebx, 0xa017d8b5
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], edi
mov edi, 0x7c5d3168
mov ebx, 0x41658ea0
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], edi
mov edi, 0x764efc9d
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], edi
mov dword [esp + 0x5c], edx
mov dword [esp + 0x58], ecx
lea ebx, [esp + 0x30]
xor eax, eax
mov ecx, ebx
movaps xmm0, xmmword [esp]
xorps xmm0, xmmword [ecx]
movaps xmmword [esp], xmm0
movaps xmm0, xmmword [esp + 0x10]
xorps xmm0, xmmword [ecx + 0x10]
movaps xmmword [esp + 0x10], xmm0
movaps xmm0, xmmword [esp + 0x20]
xorps xmm0, xmmword [ecx + 0x20]
movaps xmmword [esp + 0x20], xmm0
mov eax, esp
push 0
push 0x1016edaa
push eax
call fcn.100cc810
add esp, 0xc
test al, al
je case.default.0x1007727b
lea edi, [esi + 0x34]
movzx eax, byte [esi + 0x34]
and al, 1
mov byte [0x102a2c33], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c33
push dword [0x102a1ad0]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c33]
mov eax, dword [esi + 0x34]
mov edx, eax
and edx, 0xfffffffe
or edx, ecx
mov dword [esi + 0x34], edx
shr al, 1
and al, 1
mov byte [0x102a2c34], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c34
push dword [0x102a1ad4]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c34]
mov eax, dword [esi + 0x34]
mov edx, eax
and edx, 0xfffffffd
add ecx, ecx
or ecx, edx
mov dword [esi + 0x34], ecx
shr al, 2
and al, 1
mov byte [0x102a2c35], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c35
push dword [0x102a1ad8]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c35]
mov eax, dword [esi + 0x34]
mov edx, eax
and edx, 0xfffffffb
shl ecx, 2
or ecx, edx
mov dword [esi + 0x34], ecx
shr al, 3
and al, 1
mov byte [0x102a2c36], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c36
push dword [0x102a1adc]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c36]
mov eax, dword [esi + 0x34]
mov edx, eax
and edx, 0xfffffff7
shl ecx, 3
or ecx, edx
mov dword [esi + 0x34], ecx
shr al, 4
and al, 1
mov byte [0x102a2c37], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c37
push dword [0x102a1ae0]
call fcn.100dea60
add esp, 0x10
mov eax, 0x102a2c37
jmp 0x10077e7f
mov eax, 0xc818f1b1
mov ecx, 0x1c0c9604
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, 0x4b11a1a5
mov ecx, 0x43104d91
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, 0xeb4a1752
mov ecx, 0xa017d8d9
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov eax, 0x7c5d3168
mov ecx, 0x41658ea0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
mov edx, 0xaa6c98d9
mov edi, 0x6f69ee6b
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], edx
mov edx, 0x2a638286
mov edi, 0x334f28f6
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], edx
mov edx, 0x843e643b
mov edi, 0xa017d8b5
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], eax
lea ebx, [esp + 0x30]
xor eax, eax
mov ecx, ebx
movaps xmm0, xmmword [esp]
xorps xmm0, xmmword [ecx]
movaps xmmword [esp], xmm0
movaps xmm0, xmmword [esp + 0x10]
xorps xmm0, xmmword [ecx + 0x10]
movaps xmmword [esp + 0x10], xmm0
mov eax, esp
push 0
push 0x1016edaa
push eax
call fcn.100cc810
add esp, 0xc
test al, al
je case.default.0x1007727b
lea edi, [esi + 0x38]
movzx eax, byte [esi + 0x38]
and al, 1
mov byte [0x102a2c38], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c38
push dword [0x102a1ad0]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c38]
mov eax, dword [esi + 0x38]
mov edx, eax
and edx, 0xfffffffe
or edx, ecx
mov dword [esi + 0x38], edx
shr al, 1
and al, 1
mov byte [0x102a2c39], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c39
push dword [0x102a1ad4]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c39]
mov eax, dword [esi + 0x38]
mov edx, eax
and edx, 0xfffffffd
add ecx, ecx
or ecx, edx
mov dword [esi + 0x38], ecx
shr al, 2
and al, 1
mov byte [0x102a2c3a], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c3a
push dword [0x102a1ad8]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c3a]
mov eax, dword [esi + 0x38]
mov edx, eax
and edx, 0xfffffffb
shl ecx, 2
or ecx, edx
mov dword [esi + 0x38], ecx
shr al, 3
and al, 1
mov byte [0x102a2c3b], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c3b
push dword [0x102a1adc]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c3b]
mov eax, dword [esi + 0x38]
mov edx, eax
and edx, 0xfffffff7
shl ecx, 3
or ecx, edx
mov dword [esi + 0x38], ecx
shr al, 4
and al, 1
mov byte [0x102a2c3c], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c3c
push dword [0x102a1ae0]
call fcn.100dea60
add esp, 0x10
mov eax, 0x102a2c3c
jmp 0x10077e7f
mov eax, 0xc818f1b1
mov ecx, 0x1c0c9604
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, 0x4b11a1a5
mov ecx, 0x5c104d91
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov ecx, 0xf65b0c4f
mov eax, 0xa017d8b5
mov edx, 0xa017d8b5
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
mov ecx, 0x7c5d3168
mov edx, 0x41658ea0
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov edi, 0xaa6c98d9
mov ebx, 0x6f69ee6b
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], edi
mov edi, 0x2a638286
mov ebx, 0x334f28f6
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], edi
mov edi, 0x843e643b
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], ecx
lea ebx, [esp + 0x30]
xor eax, eax
mov ecx, ebx
movaps xmm0, xmmword [esp]
xorps xmm0, xmmword [ecx]
movaps xmmword [esp], xmm0
movaps xmm0, xmmword [esp + 0x10]
xorps xmm0, xmmword [ecx + 0x10]
movaps xmmword [esp + 0x10], xmm0
mov eax, esp
push 0
push 0x1016edaa
push eax
call fcn.100cc810
add esp, 0xc
test al, al
je case.default.0x1007727b
lea edi, [esi + 0x3c]
movzx eax, byte [esi + 0x3c]
and al, 1
mov byte [0x102a2c3d], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c3d
push dword [0x102a1ad0]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c3d]
mov eax, dword [esi + 0x3c]
mov edx, eax
and edx, 0xfffffffe
or edx, ecx
mov dword [esi + 0x3c], edx
shr al, 1
and al, 1
mov byte [0x102a2c3e], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c3e
push dword [0x102a1ad4]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c3e]
mov eax, dword [esi + 0x3c]
mov edx, eax
and edx, 0xfffffffd
add ecx, ecx
or ecx, edx
mov dword [esi + 0x3c], ecx
shr al, 2
and al, 1
mov byte [0x102a2c3f], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c3f
push dword [0x102a1ad8]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c3f]
mov eax, dword [esi + 0x3c]
mov edx, eax
and edx, 0xfffffffb
shl ecx, 2
or ecx, edx
mov dword [esi + 0x3c], ecx
shr al, 3
and al, 1
mov byte [0x102a2c40], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c40
push dword [0x102a1adc]
call fcn.100dea60
add esp, 0x10
movzx ecx, byte [0x102a2c40]
mov eax, dword [esi + 0x3c]
mov edx, eax
and edx, 0xfffffff7
shl ecx, 3
or ecx, edx
mov dword [esi + 0x3c], ecx
shr al, 4
and al, 1
mov byte [0x102a2c41], al
xorps xmm0, xmm0
movlps qword [esp + 0x30], xmm0
push ebx
push 1
push 0x102a2c41
push dword [0x102a1ae0]
call fcn.100dea60
add esp, 0x10
mov eax, 0x102a2c41
movzx eax, byte [eax]
mov ecx, dword [edi]
and ecx, 0xffffffef
shl eax, 4
or eax, ecx
mov dword [edi], eax
call fcn.100ccf40
mov ecx, dword [esp + 0x68]
xor ecx, ebp
call fcn.100ea0d3
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret