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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x220
mov edi, ecx
mov ebx, dword [ebp + 0xc]
mov eax, dword [0x10305014]
xor eax, ebp
mov dword [esp + 0x218], eax
mov esi, dword [ecx + 0x18]
pxor xmm0, xmm0
movdqa xmmword [esp + 0x100], xmm0
movdqa xmmword [esp + 0xf0], xmm0
movdqa xmmword [esp + 0xe0], xmm0
movdqa xmmword [esp + 0xd0], xmm0
mov dword [esp + 0x6c], edx
mov dword [esi + 8], edx
mov ecx, dword [ebx + 8]
mov eax, ecx
shr eax, 3
mov edx, dword [ebx]
mov eax, dword [edx + eax]
bswap eax
and cl, 7
shl eax, cl
shr eax, 0xf4
cmp eax, 0xfff
mov dword [esp + 4], esi
mov dword [esp + 0x44], edi
je 0x10101edc
mov ecx, edi
call fcn.10101680
test eax, eax
js 0x10102b16
mov dword [esp + 8], eax
lea eax, [esi + 0x1938]
mov dword [esp + 0x84], eax
lea eax, [esi + 0x1820]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 0x1938]
dec eax
mov ecx, dword [esi + 4]
mov dword [ecx + 0x250], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x68], eax
mov dword [esi + 0x3ec], 0
lea eax, [esi + 0x1968]
mov dword [esp + 0x7c], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x48], 7
xor esi, esi
mov dword [esp + 0x4c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x10], esi
mov edi, dword [ebx]
mov ecx, eax
shr ecx, 3
mov esi, dword [edi + ecx]
bswap esi
mov ecx, eax
and cl, 7
shl esi, cl
mov edx, dword [ebx + 0x10]
shr esi, 0xfd
add eax, 3
cmp edx, eax
cmovb eax, edx
mov dword [ebx + 8], eax
mov dword [esp + 0x30], esi
cmp esi, 7
je 0x10101d89
mov ecx, eax
shr ecx, 3
mov esi, dword [edi + ecx]
bswap esi
mov ecx, eax
and cl, 7
shl esi, cl
shr esi, 0xfc
mov dword [esp + 0xc], esi
add eax, 4
cmp edx, eax
cmovb eax, edx
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x44]
cmp dword [eax + 0x314], 0
mov edx, dword [esp + 0x30]
jne 0x10101b4d
cmp edx, 5
jne 0x10102176
mov esi, dword [esp + 0x10]
cmp edx, 3
mov eax, dword [esp + 0x4c]
jg 0x10101bbb
mov eax, edx
shl eax, 4
add eax, esp
add eax, 0xd0
mov esi, dword [esp + 0xc]
mov cl, byte [esi + eax]
cmp cl, 1
ja 0x10102176
mov edi, ebx
add eax, esi
inc cl
mov byte [eax], cl
mov ebx, dword [esp + 4]
mov ecx, ebx
push esi
call fcn.10103150
add esp, 4
test eax, eax
je 0x10102176
mov esi, eax
xor eax, eax
cmp dword [ebx + 0x1964], 0
sete al
shl eax, 6
add eax, 0x3c0
mov dword [esi], 1
mov dword [esp + 0x1c], esi
mov ebx, edi
mov edx, dword [esp + 0x30]
cmp edx, 1
mov dword [esp + 0x4c], eax
jne 0x10101e62
mov ecx, dword [esp + 4]
mov edx, ebx
push dword [esp + 0x1c]
call fcn.10104e50
add esp, 4
mov ecx, eax
xor eax, eax
inc eax
mov dword [esp + 0x40], eax
mov edx, ecx
test ecx, ecx
jne case.0x10101e78.1
mov ecx, dword [esp + 0x30]
cmp ecx, 4
mov eax, dword [esp + 0x48]
cmovl eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
sub ecx, eax
mov dword [esp + 8], 0
mov edx, 0xbebbb1b7
cmp ecx, 3
jge 0x10101adb
jmp case.0x10101e78.1
cmp dword [esp + 0xc], 0
jle 0x10101bed
mov ecx, dword [ebx]
mov edx, ebx
mov ebx, dword [ebx + 8]
mov eax, ebx
shr eax, 3
mov dword [esp + 0x18], ecx
mov eax, dword [ecx + eax]
bswap eax
mov ecx, ebx
and cl, 7
shl eax, cl
mov ecx, dword [edx + 0x10]
shr eax, 0xfc
add ebx, 4
cmp ecx, ebx
mov dword [esp + 8], ecx
cmovb ebx, ecx
mov dword [edx + 8], ebx
test eax, eax
jne 0x10102239
push 0x100
push 0xff
lea eax, [esp + 0x120]
push eax
call fcn.10132b90
add esp, 0xc
xor eax, eax
dec eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xc]
cmp eax, 0xa
jb 0x101024a5
add ebx, 0xd
mov ecx, dword [esp + 8]
cmp ecx, ebx
cmovb ebx, ecx
lea eax, [eax*8]
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 8], ebx
add eax, 0xffffffef
xor esi, esi
mov ecx, ebx
shr ecx, 3
mov edx, dword [esp + 0x18]
mov edx, dword [edx + ecx]
bswap edx
mov ecx, ebx
and cl, 7
shl edx, cl
shr edx, 0xf8
add ebx, 8
mov ecx, dword [esp + 8]
cmp ecx, ebx
cmovb ebx, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 8], ebx
mov byte [esp + esi + 0x118], dl
lea edi, [eax - 8]
cmp esi, 0xfd
lea esi, [esi + 1]
ja 0x10101cfe
cmp eax, 0xf
mov eax, edi
jg 0x10101cb8
mov byte [esp + esi + 0x118], 0
lea eax, [esp + 0xcc]
push eax
lea eax, [esp + 0xb4]
push eax
push 0x102e4d5c
lea eax, [esp + 0x124]
push eax
call fcn.1004c0e0
add esp, 0x10
cmp eax, 2
jne 0x10101d41
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1c]
mov dword [eax + 0x40], 0x400
mov ebx, dword [ebp + 0xc]
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0x10]
sub ecx, eax
mov edx, eax
neg edx
cmp edi, ecx
cmovl ecx, edi
cmp edi, edx
cmovl ecx, edx
add ecx, eax
mov dword [ebx + 8], ecx
mov edi, dword [esp + 0xc]
mov edx, edi
test edx, edx
mov eax, 0
cmovg eax, edx
sub edi, eax
mov dword [esp + 0xc], edi
test edx, edx
mov ebx, dword [ebp + 0xc]
jns 0x10101c22
jmp case.0x10101e78.1
mov edi, dword [esp + 0x44]
cmp dword [edi + 0x314], 0
je 0x101020c2
xor ecx, ecx
mov ebx, dword [esp + 4]
cmp dword [ebx + 0x1948], 1
mov esi, dword [esp + 0x4c]
je 0x101020d0
mov dword [esp + 0x30], ecx
shl esi, cl
mov ecx, ebx
call fcn.101053e0
mov edx, esi
cmp dword [ebx + 0x1a48], 0
je 0x10101df6
cmp dword [esp + 0x40], 0
je 0x10101df6
mov ebx, dword [esp + 4]
mov eax, dword [ebx + 0x1940]
mov ecx, dword [esp + 0x30]
shl eax, cl
mov dword [edi + 0x130], eax
mov dword [edi + 0x13c], edx
mov dword [ebx + 0x1a48], 4
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
test edx, edx
je 0x10101e0a
cmp dword [eax], 0
je 0x10102176
test edx, edx
je 0x101020e6
mov dword [eax + 0x4c], edx
mov eax, dword [edi + 0x130]
mov esi, dword [esp + 4]
mov ecx, dword [esi + 8]
mov dword [ecx + 0xa8], eax
xor eax, eax
test edx, edx
setne al
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
cmp dword [esi + 0x1618], 0
je 0x10101e48
cmp dword [esp + 0x70], 2
je 0x101020fa
xor esi, esi
mov ecx, dword [esp + 0x218]
xor ecx, ebp
call fcn.10130483
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, 0xdeb8aabe
mov eax, dword [esp + 0x30]
cmp eax, 6
ja case.0x10101e78.1
mov dword [esp + 0x14], esi
jmp dword [eax*4 + 0x102e4d6c]
mov eax, dword [ebx + 8]
mov edx, dword [esp + 0xc]
cmp edx, 0xf
jne 0x10101eb2
mov ecx, dword [ebx]
mov edx, eax
shr edx, 3
mov edx, dword [ecx + edx]
bswap edx
mov ecx, eax
and cl, 7
shl edx, cl
mov ecx, dword [ebx + 0x10]
shr edx, 0xf8
add eax, 8
cmp ecx, eax
cmovb eax, ecx
mov dword [ebx + 8], eax
add edx, 0xe
mov ecx, dword [ebx + 0xc]
sub ecx, eax
mov dword [esp + 0xc], edx
lea eax, [edx*8]
cmp ecx, eax
jl 0x10102176
mov eax, dword [esp + 0x10]
add eax, 0x26360
mov dword [esp + 0x34], eax
jmp 0x10101c22
xor eax, eax
dec eax
lea esi, [esp + 0xb0]
mov dword [esi + 0x14], eax
mov dword [esi + 0x10], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esi], xmm0
lea eax, [esp + 0x118]
push 0xc0
push 0xff
push eax
call fcn.10132b90
add esp, 0xc
push esi
push ebx
call fcn.102477f0
add esp, 8
test eax, eax
jle 0x10102158
mov eax, dword [esp + 4]
cmp dword [eax + 0x1a50], 0
jne 0x10101f45
cmp byte [esp + 0xc0], 1
je 0x10101f45
mov eax, dword [esp + 4]
mov dword [eax + 0x1a50], 1
mov eax, dword [esp + 4]
cmp dword [eax + 0x1a48], 4
jne 0x1010218b
mov ecx, dword [esp + 4]
lea eax, [ecx + 0x1820]
add ecx, 0x1938
push 0x118
push ecx
push eax
call fcn.10132610
add esp, 0xc
mov eax, dword [esp + 4]
mov dword [eax + 0x1a48], 0
movzx ebx, byte [esp + 0xbf]
test ebx, ebx
je 0x101021a1
mov eax, dword [esp + 4]
mov dword [eax + 0x1944], ebx
mov edx, 0xbebbb1b7
cmp bl, 0xd
ja case.0x10101e78.1
lea eax, [ebx - 8]
cmp eax, 3
jb case.0x10101e78.1
mov eax, dword [esp + 4]
mov edi, dword [eax + 4]
movsx esi, byte [ebx + 0x102e498f]
lea eax, [ebx + ebx*2]
shl eax, 4
lea eax, [eax + 0x102e496f]
lea ecx, [esi + esi*2]
push ecx
push eax
lea eax, [esp + 0x120]
push eax
call fcn.10132610
add esp, 0xc
cmp bl, 7
jne 0x10101ff8
cmp dword [edi + 0x1bc], 0
jle 0x10102209
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x1a48]
cmp eax, 3
mov edi, 2
cmovge edi, eax
lea edx, [esp + 0x118]
push 0
push edi
push esi
call fcn.100ff9f0
add esp, 0xc
test eax, eax
js 0x10102b16
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 4]
mov dword [edx + 0x1940], eax
movzx ecx, byte [esp + 0xbe]
mov dword [edx + 0x193c], ecx
movzx ecx, byte [esp + 0xbd]
mov dword [edx + 0x1938], ecx
mov dword [edx + 0x1964], 0
cmp dword [edx + 0x1930], 4
jne 0x10102088
movzx ecx, byte [esp + 0xbf]
mov edx, dword [esp + 4]
cmp dword [edx + 0x182c], ecx
jne 0x10102088
mov ecx, dword [esp + 4]
cmp dword [ecx + 0x1828], eax
je 0x1010209b
mov eax, dword [esp + 4]
xor ecx, ecx
dec ecx
mov dword [eax + 0x1948], ecx
mov dword [eax + 0x1960], ecx
cmp byte [esp + 0xbc], 0
jne 0x1010215e
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 8]
mov ecx, dword [edx + 0x10]
add eax, 0x10
cmp ecx, eax
cmovb eax, ecx
mov dword [edx + 8], eax
jmp 0x1010215e
mov eax, dword [ebp + 8]
mov dword [eax], 0
jmp 0x10101e48
mov eax, dword [ebx + 0x1954]
xor ecx, ecx
cmp eax, dword [ebx + 0x1940]
setg cl
jmp 0x10101db1
push eax
call sym.ffmpeg.dll_av_frame_unref
mov edx, esi
add esp, 4
mov esi, dword [esp + 4]
jmp 0x10101e28
mov ecx, esi
xor esi, esi
movdqa xmm0, xmmword [0x102e3fa0]
lea eax, [esp + 0x98]
movdqu xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov edi, ecx
add ecx, 0x1a30
push eax
push ecx
call fcn.10192170
add esp, 8
test eax, eax
jne 0x10101e4a
mov eax, dword [edi + 0x1618]
cmp eax, 2
je 0x1010222b
cmp eax, 1
jne 0x10101e4a
mov ecx, dword [esp + 0x6c]
mov eax, dword [ecx]
mov dword [ecx + 4], eax
jmp 0x10101e4a
js 0x10102b16
mov esi, dword [esp + 4]
cmp dword [esi + 0x193c], 0xc
mov edi, dword [esp + 0x44]
mov ebx, dword [ebp + 0xc]
jle 0x10101a4e
mov edx, 0xbebbb1b7
mov esi, edx
mov ecx, dword [esp + 4]
call fcn.1023cd30
jmp 0x10101e4a
mov eax, dword [esp + 4]
cmp dword [eax + 0x1930], 0
jne 0x10101f75
jmp 0x10101f56
mov eax, dword [esp + 4]
mov dword [eax + 0x1944], 0
cmp dword [eax + 0x1618], 0
je 0x10102028
mov eax, dword [esp + 4]
cmp dword [eax + 0x1930], 0
jne 0x10102028
lea edx, [esp + 0x118]
mov byte [edx], 0
mov byte [edx + 5], 1
mov dword [edx + 1], 0x1000100
mov eax, 2
mov ecx, dword [esp + 4]
push 0
push eax
push eax
call fcn.100ff9f0
add esp, 0xc
test eax, eax
je 0x10102028
mov edx, 0xfffffff9
jmp case.0x10101e78.1
mov byte [esp + 0x120], 2
cmp dword [esp + 4], 0
je 0x10101ff8
mov eax, dword [esp + 4]
inc dword [eax + 0x1a58]
jmp 0x10101ff8
mov ecx, dword [esp + 0x6c]
mov eax, dword [ecx + 4]
mov dword [ecx], eax
jmp 0x10101e4a
cmp eax, 0xb
jne 0x10102cd4
mov eax, ebx
shr eax, 3
xor edx, edx
cmp dword [esp + 8], ebx
setg dl
add edx, ebx
mov ecx, dword [esp + 0x18]
movzx eax, byte [ecx + eax]
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 8], edx
and bl, 7
mov ecx, ebx
shl eax, cl
test al, 0x80
je 0x10102dbd
mov eax, edx
shr eax, 3
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + eax]
bswap eax
mov ecx, edx
and cl, 7
shl eax, cl
shr eax, 0xfc
add edx, 4
mov ecx, dword [esp + 8]
cmp ecx, edx
cmovb edx, ecx
mov esi, dword [ebp + 0xc]
mov dword [esi + 8], edx
mov ecx, dword [esp + 4]
mov dword [ecx + 0x10], eax
mov eax, dword [esi]
mov dword [esp + 0x18], eax
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x10]
add edx, 4
cmp eax, edx
mov dword [esp + 8], eax
cmovb edx, eax
mov dword [esi + 8], edx
mov dword [esp + 0x20], 2
mov ecx, edx
shr ecx, 3
xor eax, eax
cmp edx, dword [esp + 8]
setl al
add eax, edx
mov esi, dword [esp + 0x18]
movzx ebx, byte [esi + ecx]
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 8], eax
and dl, 7
mov ecx, edx
shl ebx, cl
test bl, 0x80
je 0x10102dfa
mov dword [esp + 0x24], 0
mov ecx, eax
shr ecx, 3
xor ebx, ebx
cmp eax, dword [esp + 8]
setl bl
add ebx, eax
mov edx, dword [esp + 0x18]
movzx esi, byte [edx + ecx]
and al, 7
mov ecx, eax
shl esi, cl
shr esi, 7
mov edx, dword [ebp + 0xc]
mov dword [edx + 8], ebx
and esi, 1
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 4]
mov dword [eax + ebx*4 + 0x9c], esi
mov esi, dword [edx]
mov ecx, dword [edx + 8]
mov edi, ecx
shr edi, 3
xor eax, eax
cmp ecx, dword [edx + 0x10]
setl al
add eax, ecx
movzx esi, byte [esi + edi]
and cl, 7
shl esi, cl
shr esi, 7
mov dword [edx + 8], eax
and esi, 1
mov eax, dword [esp + 4]
mov dword [eax + ebx*4 + 0xa0], esi
mov esi, dword [edx]
mov ecx, dword [edx + 8]
mov edi, ecx
shr edi, 3
xor eax, eax
cmp ecx, dword [edx + 0x10]
setl al
add eax, ecx
movzx esi, byte [esi + edi]
and cl, 7
shl esi, cl
shr esi, 7
mov dword [edx + 8], eax
and esi, 1
mov eax, dword [esp + 4]
mov dword [eax + ebx*4 + 0xa4], esi
mov esi, dword [edx]
mov ecx, dword [edx + 8]
mov edi, ecx
shr edi, 3
xor eax, eax
cmp ecx, dword [edx + 0x10]
setl al
add eax, ecx
movzx esi, byte [esi + edi]
and cl, 7
shl esi, cl
shr esi, 7
mov dword [edx + 8], eax
and esi, 1
mov eax, dword [esp + 4]
mov dword [eax + ebx*4 + 0xa8], esi
mov esi, dword [edx]
mov ecx, dword [edx + 8]
mov edi, ecx
shr edi, 3
xor eax, eax
cmp ecx, dword [edx + 0x10]
setl al
add eax, ecx
movzx esi, byte [esi + edi]
and cl, 7
shl esi, cl
shr esi, 7
mov dword [edx + 8], eax
and esi, 1
mov eax, dword [esp + 4]
mov dword [eax + ebx*4 + 0xac], esi
mov esi, dword [edx]
mov ecx, dword [edx + 8]
mov edi, ecx
shr edi, 3
xor eax, eax
cmp ecx, dword [edx + 0x10]
setl al
add eax, ecx
movzx esi, byte [esi + edi]
and cl, 7
shl esi, cl
shr esi, 7
mov dword [edx + 8], eax
and esi, 1
mov eax, dword [esp + 4]
mov dword [eax + ebx*4 + 0xb0], esi
mov esi, dword [edx]
mov ecx, dword [edx + 8]
mov edi, ecx
shr edi, 3
xor eax, eax
cmp ecx, dword [edx + 0x10]
movzx esi, byte [esi + edi]
setl al
add eax, ecx
and cl, 7
shl esi, cl
shr esi, 7
mov dword [edx + 8], eax
and esi, 1
mov eax, dword [esp + 4]
mov dword [eax + ebx*4 + 0xb4], esi
mov eax, dword [edx]
mov dword [esp + 0x18], eax
mov ecx, dword [edx + 8]
cmp ebx, 0x32
jae 0x10102dc9
add dword [esp + 0x24], 7
mov esi, ecx
shr esi, 3
mov edx, dword [ebp + 0xc]
mov edi, dword [edx + 0x10]
xor eax, eax
mov dword [esp + 8], edi
cmp ecx, edi
setl al
add eax, ecx
mov edi, dword [esp + 0x18]
movzx ebx, byte [edi + esi]
mov dword [edx + 8], eax
and cl, 7
shl ebx, cl
test bl, 0x80
jne 0x101022f9
jmp 0x10102ddd
lea edi, [eax*8 - 4]
jmp 0x10101d41
mov eax, dword [esp + 0x1c]
lea edx, [eax + 0x120]
mov ecx, dword [esp + 4]
push 0
push ebx
call fcn.10103590
add esp, 8
mov ecx, eax
inc dword [esp + 0x70]
jmp 0x10101bdc
mov edx, dword [ebx]
mov ecx, dword [ebx + 8]
mov esi, ecx
shr esi, 3
xor eax, eax
cmp ecx, dword [ebx + 0x10]
movzx edx, byte [edx + esi]
setl al
add eax, ecx
and cl, 7
shl edx, cl
mov dword [ebx + 8], eax
shr edx, 6
and edx, 2
mov edi, dword [esp + 0x1c]
mov dword [edi + 0x244e0], edx
mov ecx, dword [ebx]
mov eax, dword [ebx + 8]
mov edx, eax
shr edx, 3
mov edx, dword [ecx + edx]
mov esi, dword [ebx + 0x10]
bswap edx
mov ecx, eax
and cl, 7
shl edx, cl
shr edx, 0xfd
add eax, 3
cmp esi, eax
cmovb eax, esi
mov dword [ebx + 8], eax
lea eax, [edi + 0x120]
mov dword [esp + 0x24], eax
mov dword [edi + 0x244e4], edx
test edx, edx
js 0x10102d47
mov dword [esp + 0x10], 0
xor eax, eax
dec eax
mov edi, dword [ebp + 0xc]
mov edx, dword [edi]
mov ecx, dword [edi + 8]
mov esi, ecx
shr esi, 3
xor ebx, ebx
cmp ecx, dword [edi + 0x10]
movzx edx, byte [edx + esi]
setl bl
add ebx, ecx
and cl, 7
shl edx, cl
mov dword [edi + 8], ebx
movzx ecx, dl
shr ecx, 7
mov edx, dword [esp + 0x1c]
mov dword [edx + eax*4 + 0x244ec], ecx
mov ecx, dword [edi]
mov ebx, dword [edi + 8]
mov edx, ebx
shr edx, 3
mov esi, dword [ecx + edx]
bswap esi
mov ecx, ebx
and cl, 7
shl esi, cl
mov ecx, dword [edi + 0x10]
shr esi, 0xfc
add ebx, 4
cmp ecx, ebx
cmovb ebx, ecx
mov dword [edi + 8], ebx
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax*4 + 0x2450c], esi
mov edi, 2
cmp dword [ecx + eax*4 + 0x244ec], 1
jne 0x1010260c
mov esi, dword [ebp + 0xc]
mov ecx, dword [esi]
mov ebx, dword [esi + 8]
mov edx, ebx
shr edx, 3
mov edi, dword [ecx + edx]
bswap edi
mov ecx, ebx
and cl, 7
shl edi, cl
mov ecx, dword [esi + 0x10]
shr edi, 0xfe
add ebx, 2
cmp ecx, ebx
cmovb ebx, ecx
mov dword [esi + 8], ebx
mov edx, dword [esp + 0x10]
add edx, 2
cmp edi, 3
mov ecx, dword [esp + 0x2c]
cmove ecx, edx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x1c]
mov dword [ecx + eax*4 + 0x2452c], edi
inc eax
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x10], edx
cmp eax, dword [ecx + 0x244e4]
jl 0x1010254f
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebx]
mov ecx, dword [ebx + 8]
mov esi, ecx
shr esi, 3
xor eax, eax
cmp ecx, dword [ebx + 0x10]
setl al
add eax, ecx
movzx edx, byte [edx + esi]
and cl, 7
shl edx, cl
mov dword [ebx + 8], eax
movzx eax, dl
shr eax, 7
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 0x244e0]
cmp ecx, 2
setae dl
or dl, al
movzx eax, dl
add eax, ecx
mov dword [esi + 0x244e0], eax
mov edi, dword [ebx]
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0x10]
mov ecx, eax
shr ecx, 3
mov esi, dword [edi + ecx]
bswap esi
mov ecx, eax
and cl, 7
shl esi, cl
shr esi, 0xff
mov dword [esp + 0x5c], esi
inc eax
cmp edx, eax
cmovb eax, edx
mov dword [ebx + 8], eax
mov ecx, eax
shr ecx, 3
mov esi, dword [edi + ecx]
bswap esi
mov ecx, eax
and cl, 7
shl esi, cl
shr esi, 0xfe
add eax, 2
cmp edx, eax
cmovb eax, edx
mov dword [ebx + 8], eax
movss xmm0, dword [esi*4 + 0x102e4d4c]
movss dword [esp + 0x10], xmm0
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x24]
push 0
push ebx
call fcn.10103590
add esp, 8
test eax, eax
jne 0x10102b16
cmp dword [esp + 0x2c], 0
jle 0x10102cc8
movss xmm0, dword [esp + 0x10]
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x90], xmm0
xor eax, eax
cmp dword [esp + 0x5c], 0
setne al
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x1c]
lea ecx, [eax + 0x24548]
mov dword [esp + 0x50], ecx
add eax, 0x1810
mov dword [esp + 0x74], eax
mov dword [esp + 0x3c], 0
cmp dword [esp + 0x3c], 0
je 0x10102a36
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x244e0], 3
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
jne 0x10102a52
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov dword [esp + 0x10], edx
mov edi, dword [ecx + 0x10]
mov ebx, dword [0x103e00a4]
mov ecx, eax
shr ecx, 3
mov edx, dword [esp + 0x10]
mov edx, dword [edx + ecx]
bswap edx
mov ecx, eax
and cl, 7
shl edx, cl
shr edx, 0xf9
movsx ecx, word [ebx + edx*4]
mov dword [esp + 0x28], ecx
movsx edx, word [ebx + edx*4 + 2]
test edx, edx
js 0x10102a99
add eax, edx
cmp edi, eax
cmovb eax, edi
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 8], eax
add dword [esp + 0x28], 0xffffffc4
xor eax, eax
inc eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x28]
neg eax
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
cvtss2sd xmm0, xmm0
sub esp, 0x10
movsd xmm1, qword [esp + 0xa0]
movsd qword [esp], xmm1
movsd qword [esp + 8], xmm0
call fcn.10145870
add esp, 0x10
fstp dword [esp + 0x8c]
movss xmm0, dword [esp + 0x8c]
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x244e0], 3
jne 0x1010282b
imul eax, dword [esp + 0x3c], 0x1e0
mov ecx, dword [esp + 0x1c]
movss dword [ecx + eax + 0x24548], xmm0
mov eax, dword [esp + 0x3c]
inc eax
add dword [esp + 0x50], 0x1e0
mov dword [esp + 0x3c], eax
cmp eax, dword [esp + 0x2c]
jne 0x1010272f
jmp 0x10102cc8
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x130]
test ecx, ecx
jle 0x1010280b
mov eax, dword [esp + 0x24]
mov al, byte [eax]
mov dword [esp + 0x54], 0
mov edx, eax
mov dword [esp + 0x58], 0
xor ebx, ebx
test dl, dl
je 0x10102a32
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
lea ecx, [ecx + edx*4]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x74]
lea ecx, [ecx + edx*4]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
cmp dword [ecx + ebx*4], 0
je 0x10102895
cmp dword [esp + 0x34], 0
je 0x101028a2
mov eax, dword [esp + 0x18]
movss dword [eax + ebx*4], xmm0
mov eax, dword [esp + 0x24]
mov al, byte [eax]
inc ebx
movzx ecx, al
cmp ebx, ecx
jb 0x10102875
jmp 0x10102a0c
mov edi, dword [0x103e00a4]
mov esi, dword [ebp + 0xc]
mov ecx, dword [esi]
mov edx, dword [esi + 8]
mov eax, edx
shr eax, 3
mov dword [esp + 0x64], ecx
mov eax, dword [ecx + eax]
bswap eax
mov ecx, edx
and cl, 7
shl eax, cl
shr eax, 0xf9
movsx ecx, word [edi + eax*4]
mov dword [esp + 8], ecx
mov dword [esp + 0x20], edi
movsx eax, word [edi + eax*4 + 2]
mov ecx, dword [esi + 0x10]
mov dword [esp + 0xc], ecx
test eax, eax
js 0x10102976
add edx, eax
cmp dword [esp + 0xc], edx
jb 0x101028f4
mov dword [esp + 0xc], edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0xc]
mov dword [eax + 8], ecx
add dword [esp + 8], 0xffffffc4
je 0x10102886
mov ecx, dword [esp + 0x28]
add ecx, dword [esp + 8]
lea eax, [ecx + ecx]
and eax, 2
xor edx, edx
inc edx
mov edi, edx
sub edi, eax
mov dword [esp + 0x28], ecx
mov eax, ecx
mov ecx, dword [esp + 0x78]
sar eax, cl
cmp dword [esp + 0x5c], 0
cmove edi, edx
neg eax
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
cvtss2sd xmm0, xmm0
sub esp, 0x10
movsd xmm1, qword [esp + 0xa0]
movsd qword [esp], xmm1
movsd qword [esp + 8], xmm0
call fcn.10145870
add esp, 0x10
xorps xmm0, xmm0
cvtsi2ss xmm0, edi
fstp dword [esp + 0x88]
mulss xmm0, dword [esp + 0x88]
jmp 0x10102886
add edx, 7
mov ecx, dword [esp + 0xc]
cmp ecx, edx
cmovb edx, ecx
mov ecx, edx
shr ecx, 3
mov esi, dword [esp + 0x64]
mov esi, dword [esi + ecx]
bswap esi
mov ecx, edx
and cl, 7
shl esi, cl
mov ecx, eax
shr esi, cl
add esi, dword [esp + 8]
mov edi, dword [esp + 0x20]
movsx ecx, word [edi + esi*4]
mov dword [esp + 8], ecx
movsx esi, word [edi + esi*4 + 2]
mov ecx, esi
mov dword [esp + 0x60], esi
test esi, esi
js 0x101029c3
mov eax, dword [esp + 0x60]
jmp 0x101028e8
sub edx, eax
mov eax, dword [esp + 0xc]
mov ecx, eax
cmp eax, edx
jb 0x101029d1
mov ecx, edx
mov edx, ecx
mov eax, ecx
shr eax, 3
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + eax]
bswap eax
mov ecx, edx
mov esi, edx
and cl, 7
shl eax, cl
mov ecx, dword [esp + 0x60]
shr eax, cl
add eax, dword [esp + 8]
mov edx, dword [esp + 0x20]
movsx ecx, word [edx + eax*4]
mov dword [esp + 8], ecx
movsx eax, word [edx + eax*4 + 2]
mov edx, esi
jmp 0x101028e8
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x130]
add dword [esp + 0x54], ebx
mov edx, eax
mov esi, dword [esp + 0x58]
inc esi
mov dword [esp + 0x58], esi
cmp esi, ecx
jl 0x10102851
jmp 0x1010280b
xor edx, edx
jmp 0x10102a1c
movss xmm0, dword [0x10299218]
xor eax, eax
inc eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x28], 0
jmp 0x101027e9
mov esi, dword [ebp + 0xc]
mov ebx, dword [esi]
mov edi, dword [esi + 0x10]
mov ecx, eax
shr ecx, 3
xor edx, edx
cmp eax, edi
setl dl
add edx, eax
mov dword [esp + 0x10], ebx
movzx ebx, byte [ebx + ecx]
and al, 7
mov ecx, eax
shl ebx, cl
mov dword [esi + 8], edx
mov eax, edx
test bl, 0x80
jne 0x1010275d
mov dword [esp + 0x34], 0
mov dword [esp + 0x28], 0
jmp 0x101027a9
add eax, 7
cmp edi, eax
cmovb eax, edi
mov ecx, eax
shr ecx, 3
mov esi, dword [esp + 0x10]
mov esi, dword [esi + ecx]
bswap esi
mov ecx, eax
and cl, 7
shl esi, cl
mov ecx, edx
shr esi, cl
add esi, dword [esp + 0x28]
movsx ecx, word [ebx + esi*4]
mov dword [esp + 0x28], ecx
movsx esi, word [ebx + esi*4 + 2]
mov ecx, esi
mov dword [esp + 0xc], esi
test esi, esi
js 0x10102ade
mov edx, dword [esp + 0xc]
jmp 0x10102790
sub eax, edx
cmp edi, eax
cmovb eax, edi
mov ecx, eax
shr ecx, 3
mov edx, dword [esp + 0x10]
mov edx, dword [edx + ecx]
bswap edx
mov ecx, eax
and cl, 7
shl edx, cl
mov ecx, dword [esp + 0xc]
shr edx, cl
add edx, dword [esp + 0x28]
movsx ecx, word [ebx + edx*4]
mov dword [esp + 0x28], ecx
movsx edx, word [ebx + edx*4 + 2]
jmp 0x10102790
mov edx, eax
jmp case.0x10101e78.1
mov eax, dword [esp + 0x1c]
lea edx, [eax + 0x120]
mov ecx, dword [esp + 4]
push 0
push ebx
call fcn.10103590
add esp, 8
jmp 0x10101bda
mov edi, dword [ebx]
mov eax, dword [ebx + 8]
mov ecx, eax
shr ecx, 3
movzx ecx, byte [edi + ecx]
mov dword [esp + 0x10], ecx
mov edx, dword [ebx + 0x10]
mov esi, ebx
xor ebx, ebx
cmp eax, edx
setl bl
lea ecx, [eax + ebx]
mov dword [esi + 8], ecx
mov esi, ecx
shr esi, 3
mov dword [esp + 0xc], edi
mov edi, dword [edi + esi]
bswap edi
and cl, 7
shl edi, cl
add ebx, eax
add ebx, 8
and eax, 7
shr edi, 0xf8
cmp edx, ebx
cmovb ebx, edx
mov ecx, dword [ebp + 0xc]
mov esi, ecx
mov dword [ecx + 8], ebx
cmp edi, 0xff
jne 0x10102bbb
mov ecx, ebx
shr ecx, 3
mov edi, dword [esp + 0xc]
mov edi, dword [edi + ecx]
bswap edi
mov ecx, ebx
and cl, 7
shl edi, cl
shr edi, 0xf8
add ebx, 8
cmp edx, ebx
cmovb ebx, edx
mov dword [esi + 8], ebx
add edi, 0xff
mov ecx, eax
mov eax, dword [esp + 0x10]
shl eax, cl
test al, 0x80
je 0x10102bdc
mov eax, ebx
neg eax
and eax, 7
je 0x10102bdc
add eax, ebx
cmp edx, eax
cmovb eax, edx
mov dword [esi + 8], eax
mov ebx, eax
mov eax, dword [esi + 0xc]
sub eax, ebx
shl edi, 3
cmp eax, edi
jl 0x10102176
sub edx, ebx
mov eax, ebx
neg eax
cmp edi, edx
cmovl edx, edi
cmp edi, eax
cmovl edx, eax
add edx, ebx
mov ebx, esi
mov dword [esi + 8], edx
jmp 0x10102ccb
mov esi, dword [esp + 0x84]
push 0xc0
push 0
lea eax, [esp + 0x120]
push eax
call fcn.10132b90
add esp, 0xc
mov eax, dword [esp + 4]
mov ebx, eax
cmp dword [eax + 0x1a48], 4
je 0x10102c42
cmp dword [ebx + 0x1930], 0
jne 0x10102d68
push 0x118
push esi
push dword [esp + 0x88]
call fcn.10132610
add esp, 0xc
mov dword [ebx + 0x1a48], 0
lea ecx, [esp + 0x118]
mov edx, dword [ebp + 0xc]
push dword [esp + 0x68]
call fcn.1023b470
add esp, 4
test eax, eax
js 0x10102d54
cmp dword [esp + 0x38], 0
jne 0x10103057
xor edi, edi
inc edi
lea edx, [esp + 0x118]
mov ecx, ebx
push edi
mov dword [esp + 0x3c], edi
push edi
push eax
call fcn.100ff9f0
add esp, 0xc
mov dword [esp + 8], eax
test eax, eax
jne 0x10102d58
mov dword [ebx + 0x1944], 0
mov dword [esp + 8], 0
jmp 0x10102d58
mov ebx, dword [ebp + 0xc]
mov esi, dword [esp + 0x14]
jmp 0x10101bed
mov dword [esp + 0x18], 0
cmp eax, 0xd
jne 0x10102da8
mov edi, dword [esp + 0xc]
mov edx, edi
cmp dword [esp + 0x10], 0
mov esi, dword [esp + 0x14]
je 0x10101d69
mov eax, dword [esp + 4]
cmp dword [eax + 0x1964], 0
je 0x10103012
mov eax, dword [esp + 4]
mov dword [eax + 0x1a54], 1
mov edi, dword [esp + 0xc]
lea edx, [edi*8 - 4]
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0x10]
sub ecx, eax
mov esi, eax
neg esi
cmp edx, ecx
cmovl ecx, edx
cmp edx, esi
cmovl ecx, esi
add ecx, eax
mov dword [ebx + 8], ecx
jmp 0x1010304c
mov dword [esp + 0x2c], 0
jmp 0x1010262c
mov dword [esp + 8], eax
mov ebx, dword [ebp + 0xc]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 8]
jmp 0x10101be3
mov dword [ebx + 0x1a48], 0
cmp dword [esp + 0x38], 0
jne 0x10102176
lea ecx, [esp + 0x118]
mov edx, dword [ebp + 0xc]
push dword [esp + 0x68]
call fcn.1023b470
add esp, 4
mov dword [esp + 8], eax
test eax, eax
js 0x10103005
mov eax, dword [esp + 8]
jmp 0x10102c8a
cmp eax, 0xe
jne 0x10103025
xor eax, eax
inc eax
mov dword [esp + 0x18], eax
jmp 0x10102ce5
xor eax, eax
inc eax
mov dword [esp + 0x20], eax
jmp 0x101022c3
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 8], eax
mov dword [esp + 0x24], 0x3f
mov eax, ecx
mov edx, dword [esp + 0x24]
movzx ecx, dl
lea esi, [ecx + ecx*8]
lea ecx, [ecx + esi*4]
sub dl, ch
shr dl, 1
add dl, ch
shr dl, 2
movzx ecx, dl
add dword [esp + 0x20], ecx
mov ecx, eax
shr ecx, 3
xor edx, edx
cmp eax, dword [esp + 8]
setl dl
add edx, eax
mov esi, dword [esp + 0x18]
movzx ebx, byte [esi + ecx]
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 8], edx
and al, 7
mov ecx, eax
shl ebx, cl
test bl, 0x80
je 0x10102ef7
mov eax, edx
shr eax, 3
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + eax]
bswap eax
mov ecx, edx
and cl, 7
shl eax, cl
shr eax, 0xfc
add edx, 4
mov ecx, dword [esp + 8]
cmp ecx, edx
cmovb edx, ecx
mov edi, dword [ebp + 0xc]
mov dword [edi + 8], edx
mov esi, dword [esp + 4]
mov dword [esi + 0x19c], eax
mov ecx, dword [edi]
mov eax, dword [edi + 8]
mov edx, eax
shr edx, 3
mov edx, dword [ecx + edx]
bswap edx
mov ecx, eax
and cl, 7
shl edx, cl
mov ecx, dword [edi + 0x10]
shr edx, 0xfc
add eax, 4
cmp ecx, eax
cmovb eax, ecx
mov dword [edi + 8], eax
mov dword [esi + 0x1a0], edx
mov ecx, dword [esi + 0x19c]
lea eax, [ecx + 1]
mov dword [esp + 8], eax
mov dword [esp + 0x24], ecx
test ecx, ecx
js 0x10102ffc
add dword [esp + 0x20], 2
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x18], eax
xor ebx, ebx
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
mov edx, dword [edi + 8]
mov ecx, edx
shr ecx, 3
mov esi, dword [eax + ecx]
mov eax, dword [edi + 0x10]
bswap esi
mov ecx, edx
and cl, 7
shl esi, cl
shr esi, 0xf8
add edx, 8
cmp eax, edx
cmovb edx, eax
mov dword [edi + 8], edx
mov eax, dword [esp + 4]
mov dword [eax + ebx*4 + 0x1a4], esi
inc ebx
cmp dword [esp + 0x18], ebx
jne 0x10102eb1
mov eax, dword [esp + 0x24]
add dword [esp + 0x20], eax
jmp 0x10102efe
xor eax, eax
inc eax
mov dword [esp + 8], eax
mov esi, dword [ebp + 0xc]
mov edi, dword [esi]
mov ecx, dword [esi + 8]
mov eax, ecx
shr eax, 3
mov edx, dword [esi + 0x10]
xor ebx, ebx
cmp ecx, edx
setl bl
add ebx, ecx
movzx eax, byte [edi + eax]
mov dword [esi + 8], ebx
and cl, 7
shl eax, cl
test al, 0x80
je 0x10102f66
mov eax, ebx
shr eax, 3
mov esi, dword [edi + eax]
bswap esi
mov ecx, ebx
and cl, 7
shl esi, cl
shr esi, 0xf9
add ebx, 7
cmp edx, ebx
cmovb ebx, edx
mov edx, dword [ebp + 0xc]
mov dword [edx + 8], ebx
mov eax, dword [esp + 4]
mov dword [eax + 0x1e8], esi
mov eax, dword [edx + 8]
mov ecx, dword [edx + 0x10]
inc eax
cmp ecx, eax
cmovb eax, ecx
mov dword [edx + 8], eax
inc dword [esp + 0x20]
cmp dword [esp + 8], 0
jle 0x10102feb
xor edi, edi
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, dword [edx + 8]
mov esi, ecx
shr esi, 3
xor ebx, ebx
cmp ecx, dword [edx + 0x10]
movzx eax, byte [eax + esi]
setl bl
add ebx, ecx
and cl, 7
shl eax, cl
shr eax, 7
mov dword [edx + 8], ebx
and eax, 1
mov ecx, dword [esp + 4]
mov dword [ecx + edi*4 + 0x14], eax
mov eax, dword [edx]
mov ebx, dword [edx + 8]
mov ecx, ebx
shr ecx, 3
mov esi, dword [eax + ecx]
mov eax, dword [edx + 0x10]
bswap esi
mov ecx, ebx
and cl, 7
shl esi, cl
shr esi, 0xf9
add ebx, 7
cmp eax, ebx
cmovb ebx, eax
mov dword [edx + 8], ebx
mov eax, dword [esp + 4]
mov dword [eax + edi*4 + 0x58], esi
inc edi
cmp dword [esp + 8], edi
jne 0x10102f6f
mov edx, dword [esp + 0x20]
add edx, dword [esp + 8]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0xc]
jmp 0x10101d69
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x20]
jmp 0x10101d69
inc dword [esp + 0x20]
jmp 0x10102efe
mov dword [esp + 0x38], 0
jmp 0x10102d58
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x1948]
cmp eax, 0xffffffff
je 0x1010306a
test eax, eax
jne 0x10103077
mov edi, dword [esp + 0xc]
lea eax, [edi*8 - 4]
mov edx, dword [esp + 8]
sub edx, ebx
mov ecx, ebx
neg ecx
cmp eax, edx
cmovl edx, eax
cmp eax, ecx
cmovl edx, ecx
add edx, ebx
mov eax, dword [ebp + 0xc]
mov dword [eax + 8], edx
mov edx, edi
mov esi, dword [esp + 0x14]
jmp 0x10101d69
mov ecx, ebx
call fcn.1023cd30
xor eax, eax
inc eax
mov dword [esp + 0x38], eax
jmp 0x10102d58
mov eax, dword [esp + 4]
cmp dword [eax + 0x1a48], 4
je 0x10103025
mov eax, dword [esp + 4]
cmp dword [eax + 0x1960], 0xffffffff
je 0x101030f4
mov eax, dword [esp + 4]
mov dword [eax + 0x1948], 1
mov eax, dword [eax + 4]
mov dword [eax + 0x250], 4
push dword [esp + 0x48]
push dword [esp + 0x10]
push dword [esp + 0x20]
push dword [ebp + 0xc]
push dword [esp + 0x44]
mov esi, dword [esp + 0x18]
push esi
call fcn.10241920
add esp, 0x18
mov ecx, eax
cmp dword [esi + 0x1960], 1
jne 0x101030e5
mov eax, dword [esp + 4]
cmp dword [eax + 0x1a60], 0
jne 0x101030e5
mov eax, dword [esp + 4]
mov dword [eax + 0x1a60], 1
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0xc]
mov edx, ecx
jmp 0x10101d69
mov eax, dword [esp + 4]
cmp dword [eax + 0x1a48], 3
jg 0x10103084
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
cmp dword [eax + 0x314], 1
jne 0x10103084
xor esi, esi
inc esi
mov ecx, dword [esp + 4]
mov dword [ecx + 0x1948], esi
mov dword [ecx + 0x1960], esi
mov dword [eax + 0x250], 0x1c
mov edx, dword [esp + 0x7c]
push esi
push dword [ecx + 0x1a48]
push dword [ecx + 0x1a28]
call fcn.100ff9f0
add esp, 0xc
jmp 0x1010309f