Function at 0x10027131
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x23c
mov eax, dword [0x1003d090]
xor eax, esp
mov dword [esp + 0x238], eax
mov eax, dword [esp + 0x240]
push ebx
push ebp
mov ebp, dword [esp + 0x24c]
push esi
mov dword [esp + 0x10], eax
movzx eax, byte [0x100384ec]
push edi
mov dword [esp + 0x28], ecx
mov cx, word [0x10037fec]
mov byte [esp + 0x50], al
xor eax, eax
push 0x7f
mov edi, edx
mov edx, dword [str.byte]
mov word [esp + 0x48], cx
mov word [esp + 0x5c], cx
push eax
lea ecx, [esp + 0x79]
xor esi, esi
push ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], esi
mov dword [esp + 0x58], edx
mov dword [esp + 0x5d], eax
mov byte [esp + 0x61], al
mov word [esp + 0x52], ax
mov byte [esp + 0x54], al
mov word [esp + 0x66], ax
mov byte [esp + 0x68], al
mov byte [esp + 0x28], al
mov byte [esp + 0x7c], al
call sub.MSVCR90.dll_memset
push 0x7f
lea edx, [esp + 0x125]
push esi
push edx
mov byte [esp + 0x12c], 0
call sub.MSVCR90.dll_memset
xor eax, eax
push 0x7f
push eax
mov dword [esp + 0x81], eax
mov dword [esp + 0x85], eax
mov dword [esp + 0x89], eax
mov word [esp + 0x8d], ax
mov byte [esp + 0x1e8], al
lea eax, [esp + 0x1e9]
push eax
mov byte [esp + 0x84], 0
call sub.MSVCR90.dll_memset
push 0x31
lea ecx, [esp + 0x1bd]
push esi
push ecx
mov byte [esp + 0x1c4], 0
call sub.MSVCR90.dll_memset
mov edx, dword [edi]
mov al, byte [ebp + edx + 1]
mov ebx, dword [str.Word]
add ebp, edx
mov cl, al
shr al, 6
mov byte [esp + 0x54], al
movzx eax, byte [ebp]
shr cl, 3
and cl, 7
add esp, 0x30
mov dword [esp + 0x20], ebp
mov ebp, dword [str.Dword]
mov byte [esp + 0x13], cl
cmp eax, 0xfe
ja case.0x10026b97.4
movzx eax, byte [eax + 0x1002ad0c]
jmp dword [eax*4 + 0x1002ac78]
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 0
mov eax, ebx
sub edx, ebx
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10026bb0
jmp case.default.0x10026bd3
movzx eax, cl
mov byte [esp + 0x26c], 0
cmp eax, 7
ja case.default.0x10026bd3
jmp dword [eax*4 + 0x1002ae0c]
mov eax, dword [str.Fword]
lea edx, [esp + 0x4c]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10026be5
jmp case.default.0x10026bd3
lea edx, [esp + 0x4c]
mov eax, ebx
sub edx, ebx
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10026c00
jmp case.default.0x10026bd3
mov eax, dword [str.Byte]
lea edx, [esp + 0x4c]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10026c20
jmp case.default.0x10026bd3
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 1
mov eax, ebp
sub edx, ebp
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10026c40
jmp case.default.0x10026bd3
mov eax, dword [str.Qword]
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 1
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10026c62
jmp case.default.0x10026bd3
mov eax, dword [str.DQword]
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 1
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10026c84
jmp case.default.0x10026bd3
mov eax, dword [str.DQword]
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 0
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10026ca6
jmp case.default.0x10026bd3
mov eax, dword [str.Qword]
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 1
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026cc8
jmp case.default.0x10026bd3
mov eax, dword [str.Qword]
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 0
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026cf0
jmp case.default.0x10026bd3
mov eax, dword [str.DQword]
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 1
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026d12
jmp case.default.0x10026bd3
mov eax, dword [str.Qword]
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 1
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026d34
jmp case.default.0x10026bd3
mov eax, dword [str.DQword]
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 1
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026d56
jmp case.default.0x10026bd3
mov eax, dword [str.DQword]
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 0
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026d78
jmp case.default.0x10026bd3
movzx eax, byte [esp + 0x25c]
and eax, 0xf
add eax, 0xfffffff6
mov byte [esp + 0x26c], 1
cmp eax, 5
ja case.default.0x10026bd3
jmp dword [eax*4 + 0x1002ae2c]
mov eax, dword [str.Qword]
lea edx, [esp + 0x4c]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026db8
jmp case.default.0x10026bd3
mov eax, dword [str.DQword]
lea edx, [esp + 0x4c]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026dd2
jmp case.default.0x10026bd3
lea edx, [esp + 0x4c]
mov eax, ebp
sub edx, ebp
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026df0
jmp case.default.0x10026bd3
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 1
mov eax, ebp
sub edx, ebp
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026e10
jmp case.default.0x10026bd3
mov eax, dword [str.DQword]
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 1
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026e32
jmp case.default.0x10026bd3
mov cl, byte [esp + 0x25c]
and cl, 0xf
mov byte [esp + 0x26c], 1
lea edx, [esp + 0x4c]
cmp cl, 0xe
jne 0x10026e6f
mov eax, ebp
sub edx, ebp
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026e60
jmp case.default.0x10026bd3
mov eax, dword [str.Qword]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026e76
jmp case.default.0x10026bd3
mov eax, dword [str.Qword]
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 1
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026e98
jmp case.default.0x10026bd3
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 0
mov eax, ebp
sub edx, ebp
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026eb7
jmp case.default.0x10026bd3
mov eax, dword [str.Qword]
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 0
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026ee0
jmp case.default.0x10026bd3
mov eax, dword [str.Byte]
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 1
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026f02
jmp case.default.0x10026bd3
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 0
mov eax, ebp
sub edx, ebp
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026f21
jmp case.default.0x10026bd3
mov byte [esp + 0x26c], 1
lea edx, [esp + 0x4c]
cmp cl, 2
jae 0x10026f57
mov eax, dword [str._512_Byte]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026f48
jmp case.default.0x10026bd3
mov eax, ebp
sub edx, ebp
jmp 0x10026f60
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026f60
jmp case.default.0x10026bd3
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 1
mov eax, ebp
sub edx, ebp
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026f80
jmp case.default.0x10026bd3
mov eax, dword [str.Byte]
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 0
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026fa2
jmp case.default.0x10026bd3
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 0
mov eax, ebp
sub edx, ebp
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026fc1
jmp case.default.0x10026bd3
mov eax, dword [str.Fword]
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 1
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10026fe3
jmp case.default.0x10026bd3
mov eax, dword [str.Byte]
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 1
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10027005
jmp case.default.0x10026bd3
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 1
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10027024
jmp case.default.0x10026bd3
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 1
mov eax, ebp
sub edx, ebp
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10027043
jmp case.default.0x10026bd3
mov eax, dword [str.Byte]
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 0
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10027065
jmp case.default.0x10026bd3
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 0
mov eax, ebp
sub edx, ebp
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10027084
jmp case.default.0x10026bd3
mov eax, dword [str.DQword]
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 1
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x100270a6
jmp case.default.0x10026bd3
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 1
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x100270c5
jmp case.default.0x10026bd3
mov eax, dword [str.Qword]
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 1
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x100270e7
jmp case.default.0x10026bd3
mov eax, dword [str.Qword]
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 1
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10027106
jmp case.default.0x10026bd3
mov eax, dword [str.Qword]
lea edx, [esp + 0x4c]
mov byte [esp + 0x26c], 0
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10027125
jmp case.default.0x10026bd3
cmp byte [esp + 0x270], 1
jne 0x10027144
mov esi, 2
mov dword [esp + 0x34], esi
cmp byte [esp + 0x260], 1
mov edi, 3
jne 0x100272ac
mov cl, byte [esp + 0x25c]
mov byte [esp + 0xf0], 2
mov byte [esp + 0xf1], 3
mov byte [esp + 0xf2], 0x2e
mov byte [esp + 0xf3], 0x2f
mov byte [esp + 0xf4], 0x6e
mov byte [esp + 0xf5], 0x7e
mov byte [esp + 0xf6], 0xa3
mov byte [esp + 0xf7], 0xa4
mov byte [esp + 0xf8], 0xa5
mov byte [esp + 0xf9], 0xab
mov byte [esp + 0xfa], 0xac
mov byte [esp + 0xfb], 0xad
mov byte [esp + 0xfc], 0xaf
mov byte [esp + 0xfd], 0xb1
mov byte [esp + 0xfe], 0xb3
mov byte [esp + 0xff], 0xbb
mov byte [esp + 0x100], 0xbc
mov byte [esp + 0x101], 0xbd
mov byte [esp + 0x102], 0xc1
mov byte [esp + 0x103], 0x40
mov byte [esp + 0x104], 0x41
mov byte [esp + 0x105], 0x42
mov byte [esp + 0x106], 0x43
mov byte [esp + 0x107], 0x44
mov byte [esp + 0x108], 0x45
mov byte [esp + 0x109], 0x46
mov byte [esp + 0x10a], 0x47
mov byte [esp + 0x10b], 0x48
mov byte [esp + 0x10c], 0x49
mov byte [esp + 0x10d], 0x4a
mov byte [esp + 0x10e], 0x4b
mov byte [esp + 0x10f], 0x4c
mov byte [esp + 0x110], 0x4d
mov byte [esp + 0x111], 0x4e
mov byte [esp + 0x112], 0x4f
xor eax, eax
jmp 0x10027280
cmp cl, byte [esp + eax + 0xf0]
je 0x10027291
inc eax
cmp eax, 0x23
jl 0x10027280
jmp 0x100272ac
mov esi, 1
lea edx, [esp + 0x4c]
mov dword [esp + 0x34], esi
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x100272a2
mov bl, byte [esp + 0x274]
cmp bl, 1
jne 0x100272ca
lea edx, [esp + 0x4c]
mov eax, ebp
sub edx, ebp
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x100272c0
mov edx, dword [esp + 0x20]
movzx eax, byte [edx + 1]
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
and eax, 7
cmp byte [esp + 0x268], 1
jne 0x10028638
mov eax, edx
mov bl, byte [eax + 1]
and bl, 0xf
movzx eax, bl
cmp eax, 0xf
ja case.default.0x10027304
movzx ecx, byte [eax + 0x1002ae64]
jmp dword [ecx*4 + 0x1002ae44]
mov edx, dword [str.BXSI]
push edx
push 0x100376bc
lea eax, [esp + 0x68]
push eax
jmp 0x10027407
mov ecx, dword [str.BXDI]
jmp 0x100273fc
mov eax, dword [str.BPSI]
push eax
lea ecx, [esp + 0x64]
push 0x100376bc
push ecx
call ebp
mov dword [esp + 0x264], 2
jmp 0x10027410
mov edx, dword [str.BPDI]
push edx
lea eax, [esp + 0x64]
push 0x100376bc
push eax
call ebp
mov dword [esp + 0x264], 2
jmp 0x10027410
mov ecx, dword [0x1003d2ec]
jmp 0x100273fc
mov eax, dword [0x1003d2f0]
push eax
push 0x100376bc
lea ecx, [esp + 0x68]
push ecx
jmp 0x10027407
cmp byte [esp + 0x24], 0
jne 0x100273d6
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x24]
push eax
add ecx, 2
push ecx
mov dword [esp + 0x264], edi
call fcn.1002b650
movzx edx, word [esp + 0x4c]
push edx
lea eax, [esp + 0x70]
push str._04X
push eax
call ebp
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx]
add esp, 0x18
add dword [eax], 2
jmp case.default.0x10027304
mov edx, dword [0x1003d2f8]
push edx
lea eax, [esp + 0x64]
push 0x100376bc
push eax
mov dword [esp + 0x264], 2
call ebp
jmp 0x10027410
mov ecx, dword [0x1003d2f4]
push ecx
push 0x100376bc
lea edx, [esp + 0x68]
push edx
call ebp
mov dword [esp + 0x264], edi
add esp, 0xc
movzx eax, byte [esp + 0x24]
sub eax, 0
je 0x100275e8
sub eax, 1
je 0x10027506
sub eax, 1
jne 0x100276f7
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
add ecx, dword [esp + 0x30]
mov dword [esp + 0x38], ecx
pushal
mov edi, dword [esp + 0x58]
mov eax, dword [edi]
mov dword [esp + 0x44], eax
bswap eax
mov dword [esp + 0x40], eax
popal
mov edx, dword [esp + 0x2c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x30]
lea edx, [ecx + eax + 2]
mov dword [esp + 0x38], edx
pushal
xor eax, eax
mov edi, dword [esp + 0x58]
mov ax, word [edi]
mov word [esp + 0x44], ax
bswap eax
shr eax, 0x10
mov word [esp + 0x60], ax
popal
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x74]
push str._08X
push ecx
call ebp
mov eax, dword [esp + 0x20]
mov edx, dword [eax]
mov byte [edx + 0x240], 4
mov edx, dword [eax]
add esp, 0xc
lea ecx, [esp + 0x70]
push ecx
add edx, 0x200
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx eax, word [esp + 0x24]
push eax
mov eax, dword [esp + 0x25c]
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [eax*4 + 0x1003d2bc]
lea edx, [esp + 0x68]
push edx
push ecx
lea edx, [esp + 0x5c]
push edx
lea eax, [esp + 0x128]
push str._s_ptr__s:__s_s_04X_
push eax
call ebp
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
add esp, 0x1c
add dword [eax], 2
mov eax, dword [edx]
mov bl, byte [ecx + eax + 4]
jmp 0x100276f3
mov edx, dword [esp + 0x2c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x30]
lea edx, [ecx + eax + 1]
mov dword [esp + 0x38], edx
pushal
xor eax, eax
mov edi, dword [esp + 0x58]
mov ax, word [edi]
mov word [esp + 0x60], ax
bswap eax
shr eax, 0x10
mov word [esp + 0x44], ax
popal
mov ax, word [esp + 0x24]
mov bl, al
cmp al, 0x7f
jbe 0x1002755d
mov eax, dword [0x1003d214]
push eax
lea ecx, [esp + 0x48]
push 0x100376bc
push ecx
call ebp
mov bl, byte [esp + 0x30]
mov ax, word [esp + 0x30]
add esp, 0xc
neg bl
movzx edx, ax
movzx eax, byte [esp + 0x25c]
push edx
push eax
lea ecx, [esp + 0x78]
push str._02X_04X
push ecx
call ebp
mov esi, dword [esp + 0x24]
mov eax, dword [esi]
add esp, 0x10
lea edx, [esp + 0x70]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx ecx, bl
push ecx
mov ecx, dword [esp + 0x25c]
lea edx, [esp + 0x48]
push edx
mov edx, dword [ecx*4 + 0x1003d2bc]
lea eax, [esp + 0x68]
push eax
push edx
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x128]
push str._s_ptr__s:__s_s_02X_
push ecx
call ebp
mov edx, dword [esp + 0x44]
mov eax, dword [edx]
mov ecx, dword [esp + 0x48]
add esp, 0x1c
inc dword [eax]
mov eax, dword [esi]
mov byte [eax + 0x240], 3
mov edx, dword [ecx]
mov eax, dword [esp + 0x30]
mov bl, byte [eax + edx + 3]
jmp 0x100276f3
mov edx, dword [esp + 0x258]
mov eax, dword [edx*4 + 0x1003d2bc]
lea ecx, [esp + 0x60]
push ecx
push eax
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x120]
push str._s_ptr__s:__s_
push edx
call ebp
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
add ecx, dword [esp + 0x44]
add esp, 0x14
mov dword [esp + 0x38], ecx
pushal
xor eax, eax
mov edi, dword [esp + 0x58]
mov ax, word [edi]
mov word [esp + 0x60], ax
bswap eax
shr eax, 0x10
mov word [esp + 0x44], ax
popal
mov edx, dword [esp + 0x2c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x30]
lea edx, [ecx + eax + 2]
mov dword [esp + 0x38], edx
pushal
mov edi, dword [esp + 0x58]
mov eax, dword [edi]
mov dword [esp + 0x60], eax
bswap eax
mov dword [esp + 0x40], eax
popal
mov ax, word [esp + 0x24]
mov cl, al
and cl, 0xf
cmp cl, 6
jne 0x100276b2
mov edx, dword [esp + 0x20]
push edx
lea eax, [esp + 0x74]
push str._08X
push eax
call ebp
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
add esp, 0xc
mov byte [ecx + 0x240], 4
mov eax, dword [eax]
lea edx, [esp + 0x70]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov eax, dword [esp + 0x30]
mov bl, byte [eax + edx + 4]
jmp 0x100276f3
movzx ecx, ax
push ecx
lea edx, [esp + 0x74]
push str._04X
push edx
call ebp
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
add esp, 0xc
mov byte [ecx + 0x240], 2
mov eax, dword [eax]
lea edx, [esp + 0x70]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov eax, dword [esp + 0x30]
mov bl, byte [eax + edx + 2]
mov esi, dword [esp + 0x34]
movzx eax, byte [esp + 0x26c]
sub eax, 0
je 0x100282ba
sub eax, 1
jne 0x1002862b
mov al, byte [esp + 0x25c]
movzx edi, al
lea ecx, [edi - 2]
cmp ecx, 0xfc
ja case.0x10027731.4
movzx ecx, byte [ecx + 0x1002aee4]
jmp dword [ecx*4 + 0x1002ae74]
movzx ecx, byte [esp + 0x13]
lea edx, [esp + 0x114]
push edx
lea eax, [esi + esi*8]
add eax, ecx
mov edx, dword [eax*4 + 0x1003d228]
push edx
lea eax, [esp + 0x1d0]
push str.lar__s__s
push eax
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x1c8]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
movzx eax, byte [esp + 0x13]
lea ecx, [esp + 0x114]
push ecx
lea edx, [esi + esi*8]
add edx, eax
mov ecx, dword [edx*4 + 0x1003d228]
push ecx
lea edx, [esp + 0x1d0]
push str.lsl__s__s
push edx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x1c8]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
cmp byte [esp + 0x274], 1
jne 0x10027838
movzx ecx, byte [esp + 0x13]
mov edx, dword [ecx*4 + 0x1003d49c]
lea eax, [esp + 0x114]
push eax
push edx
lea eax, [esp + 0x1d0]
push str.movss__s__s
push eax
call ebp
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov byte [ecx], 0
mov eax, dword [eax]
inc byte [eax + 0x240]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x1c8]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
movzx eax, byte [esp + 0x13]
mov ecx, dword [eax*4 + 0x1003d49c]
lea edx, [esp + 0x114]
push edx
push ecx
lea edx, [esp + 0x1d0]
push str.movups__s__s
push edx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x1c8]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
movzx ecx, byte [esp + 0x13]
mov edx, dword [ecx*4 + 0x1003d49c]
lea eax, [esp + 0x114]
push eax
push edx
lea eax, [esp + 0x1d0]
push str.movlps__s__s
push eax
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x1c8]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
movzx edx, byte [esp + 0x13]
mov eax, dword [edx*4 + 0x1003d49c]
lea ecx, [esp + 0x114]
push ecx
push eax
lea ecx, [esp + 0x1d0]
push str.unpcklps__s__s
push ecx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x1c8]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
movzx eax, byte [esp + 0x13]
mov ecx, dword [eax*4 + 0x1003d49c]
lea edx, [esp + 0x114]
push edx
push ecx
lea edx, [esp + 0x1d0]
push str.unpckhps__s__s
push edx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x1c8]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
movzx ecx, byte [esp + 0x13]
mov edx, dword [ecx*4 + 0x1003d49c]
lea eax, [esp + 0x114]
push eax
push edx
lea eax, [esp + 0x1d0]
push str.movhps__s__s
push eax
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x1c8]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
mov bl, byte [esp + 0x13]
movzx edx, bl
mov eax, dword [edx*4 + 0x1003d4fc]
lea ecx, [esp + 0x114]
push ecx
push eax
lea ecx, [esp + 0x1d0]
push str._s__s
push ecx
call ebp
add esp, 0x10
cmp bl, 3
jbe case.0x10027731.4
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
push str.Invalid_instruction
add eax, 0x100
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
lea eax, [esp + 0x1c8]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
movzx edx, byte [esp + 0x13]
mov eax, dword [edx*4 + 0x1003d49c]
lea ecx, [esp + 0x114]
push ecx
push eax
lea ecx, [esp + 0x1d0]
push str.movaps__s__s
push ecx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x1c8]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
and al, 0xf
sub al, 8
cmp al, 4
je 0x10027a81
cmp al, 5
je 0x10027a81
movzx ebx, byte [esp + 0x13]
mov edx, dword [ebx*4 + 0x1003d49c]
push edx
push 0x100376bc
lea eax, [esp + 0x19c]
push eax
jmp 0x10027a9b
movzx ebx, byte [esp + 0x13]
mov ecx, dword [ebx*4 + 0x1003d47c]
push ecx
push 0x100376bc
lea edx, [esp + 0x19c]
push edx
call ebp
add esp, 0xc
cmp byte [esp + 0x274], 1
jne 0x10027b79
mov al, byte [esp + 0x25c]
cmp al, 0x2a
je 0x10027ac5
cmp al, 0x2c
je 0x10027ac5
cmp al, 0x2d
jne case.0x10027731.4
sub edi, 0x2a
je 0x10027b33
sub edi, 2
je 0x10027af3
sub edi, 1
jne 0x10027b50
mov dl, byte [0x10038888]
mov eax, dword [str.cvtss2si]
mov ecx, dword [0x10038884]
mov byte [esp + 0x78], dl
jmp 0x10027b0a
mov dx, word [0x1003887c]
mov eax, dword [str.cvttss2si]
mov ecx, dword [0x10038878]
mov word [esp + 0x78], dx
mov dword [esp + 0x70], eax
lea eax, [ebx + esi*8]
add eax, esi
mov dword [esp + 0x74], ecx
mov ecx, dword [eax*4 + 0x1003d228]
push ecx
lea edx, [esp + 0x198]
push 0x100376bc
push edx
call ebp
add esp, 0xc
jmp 0x10027b50
mov eax, dword [str.cvtsi2ss]
mov ecx, dword [0x10038a0c]
mov dl, byte [0x10038a10]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov byte [esp + 0x78], dl
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov byte [ecx], 0
mov eax, dword [eax]
inc byte [eax + 0x240]
lea edx, [esp + 0x114]
push edx
lea eax, [esp + 0x198]
lea ecx, [esp + 0x74]
jmp 0x10028284
lea eax, [esp + 0x114]
push eax
lea ecx, [esp + 0x198]
push ecx
and edi, 0xf
mov edx, dword [edi*4 + 0x1003d4fc]
push edx
lea eax, [esp + 0x1d4]
push str._s__s__s
push eax
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x1c8]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
movzx eax, byte [esp + 0x13]
lea ecx, [esp + 0x114]
push ecx
lea edx, [esi + esi*8]
add edx, eax
mov ecx, dword [edx*4 + 0x1003d228]
push ecx
and edi, 0xf
mov edx, dword [edi*4 + 0x1003d540]
push edx
lea eax, [esp + 0x1d4]
push str._s__s__s
push eax
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x1c8]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
and edi, 0xf
cmp byte [esp + 0x274], 1
jne 0x10027c8a
mov edx, dword [str.xmm0]
mov eax, dword [edi*4 + 0x1003d5c0]
lea ecx, [esp + 0x114]
push ecx
push edx
push eax
lea ecx, [esp + 0x1d4]
push str._s__s__s
push ecx
call ebp
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
mov ecx, dword [esp + 0x28]
mov byte [edx], 0
mov eax, dword [eax]
inc byte [eax + 0x240]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x1c8]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
movzx ecx, byte [esp + 0x13]
mov edx, dword [ecx*4 + 0x1003d49c]
lea eax, [esp + 0x114]
push eax
mov eax, dword [edi*4 + 0x1003d580]
push edx
push eax
lea ecx, [esp + 0x1d4]
push str._s__s__s
push ecx
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x1c8]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
movzx eax, byte [esp + 0x13]
mov ecx, dword [eax*4 + 0x1003d47c]
lea edx, [esp + 0x114]
push edx
push ecx
and edi, 0xf
mov edx, dword [edi*4 + 0x1003d600]
push edx
lea eax, [esp + 0x1d4]
push str._s__s__s
push eax
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x1c8]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
mov edx, dword [0x1003d47c]
movzx esi, bl
push esi
lea ecx, [esp + 0x118]
push ecx
push edx
and edi, 0xf
mov eax, dword [edi*4 + 0x1003d640]
push eax
lea ecx, [esp + 0x1d8]
push str._s__s__s__02X
push ecx
call ebp
push esi
lea edx, [esp + 0x8c]
push str.__02X
push edx
call ebp
add esp, 0x24
mov esi, dword [esp + 0x14]
mov ecx, dword [esi]
lea eax, [esp + 0x70]
push eax
add ecx, 0x200
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esi]
inc byte [eax + 0x240]
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
inc dword [eax]
lea eax, [esp + 0x1c8]
mov ecx, esi
mov edx, dword [ecx]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
movzx ecx, byte [esp + 0x13]
mov edx, dword [ecx*4 + 0x1003d47c]
lea eax, [esp + 0x114]
push eax
push edx
and edi, 0xf
mov eax, dword [edi*4 + 0x1003d640]
push eax
lea ecx, [esp + 0x1d4]
push str._s__s__s
push ecx
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x1c8]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
lea edx, [esp + 0x114]
push edx
and edi, 0xf
mov eax, dword [edi*4 + 0x1003d660]
push eax
lea ecx, [esp + 0x1d0]
push 0x100381ac
push ecx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x1c8]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
mov bl, byte [esp + 0x13]
movzx eax, bl
mov ecx, dword [eax*4 + 0x1003d6e0]
lea edx, [esp + 0x114]
push edx
push ecx
lea edx, [esp + 0x1d0]
push 0x100381ac
push edx
call ebp
add esp, 0x10
cmp bl, 3
jbe case.0x10027731.4
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push str.Invalid_Instruction
add ecx, 0x100
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
lea eax, [esp + 0x1c8]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
movzx ecx, byte [esp + 0x13]
lea edx, [esp + 0x114]
push edx
lea eax, [esi + esi*8]
add eax, ecx
mov edx, dword [eax*4 + 0x1003d228]
push edx
and edi, 0xf
mov eax, dword [edi*4 + 0x1003d6a0]
push eax
lea ecx, [esp + 0x1d4]
push str._s__s__s
push ecx
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x1c8]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
movzx ecx, byte [esp + 0x13]
lea edx, [esp + 0x114]
push edx
lea eax, [esi + esi*8]
add eax, ecx
mov edx, dword [eax*4 + 0x1003d228]
push edx
and edi, 0xf
mov eax, dword [edi*4 + 0x1003d700]
push eax
lea ecx, [esp + 0x1d4]
push str._s__s__s
push ecx
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x1c8]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
movzx esi, bl
cmp bl, 8
jae 0x10027fdd
cmp byte [esp + 0x274], 1
movzx eax, byte [esp + 0x13]
mov ecx, dword [eax*4 + 0x1003d49c]
lea edx, [esp + 0x114]
push edx
push ecx
lea eax, [esp + 0x1d0]
jne 0x10027fcb
mov edx, dword [esi*4 + 0x1003d760]
push edx
push str._s__s__s
push eax
call ebp
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov byte [ecx], 0
mov eax, dword [eax]
add esp, 0x14
inc byte [eax + 0x240]
jmp 0x10028049
mov edx, dword [esi*4 + 0x1003d740]
push edx
push str._s__s__s
jmp 0x10028043
cmp byte [esp + 0x274], 1
push esi
jne 0x10028022
movzx edx, byte [esp + 0x17]
mov eax, dword [edx*4 + 0x1003d49c]
lea ecx, [esp + 0x118]
push ecx
push eax
lea ecx, [esp + 0x1d4]
push str.cmpss__s__s__02X
push ecx
call ebp
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
mov byte [edx], 0
mov eax, dword [eax]
add esp, 0x14
inc byte [eax + 0x240]
jmp 0x10028049
movzx ecx, byte [esp + 0x17]
mov edx, dword [ecx*4 + 0x1003d49c]
lea eax, [esp + 0x118]
push eax
push edx
push str.cmpps__s__s__02X
lea eax, [esp + 0x1d8]
push eax
call ebp
add esp, 0x14
push esi
lea ecx, [esp + 0x74]
push str.__02X
push ecx
call ebp
mov esi, dword [esp + 0x20]
mov eax, dword [esi]
add esp, 0xc
lea edx, [esp + 0x70]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esi]
inc byte [eax + 0x240]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
lea eax, [esp + 0x1c8]
mov ecx, esi
mov edx, dword [ecx]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
movzx eax, byte [esp + 0x13]
mov ecx, dword [eax*4 + 0x1003d47c]
movzx esi, bl
push esi
lea edx, [esp + 0x118]
push edx
push ecx
lea edx, [esp + 0x1d4]
push str.pinsrw__s__s__02X
push edx
call ebp
push esi
lea eax, [esp + 0x88]
push str.__02X
push eax
call ebp
mov esi, dword [esp + 0x34]
mov edx, dword [esi]
add esp, 0x20
lea ecx, [esp + 0x70]
push ecx
add edx, 0x200
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esi]
inc byte [eax + 0x240]
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
inc dword [eax]
lea eax, [esp + 0x1c8]
mov ecx, esi
mov edx, dword [ecx]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
movzx eax, byte [esp + 0x13]
movzx edi, bl
push edi
lea ecx, [esp + 0x118]
push ecx
lea edx, [esi + esi*8]
add edx, eax
mov ecx, dword [edx*4 + 0x1003d228]
push ecx
lea edx, [esp + 0x1d4]
push str.pextrw__s__s__02X
push edx
call ebp
push edi
jmp 0x100280c9
movzx edx, byte [esp + 0x13]
mov eax, dword [edx*4 + 0x1003d49c]
movzx esi, bl
push esi
lea ecx, [esp + 0x118]
push ecx
push eax
lea ecx, [esp + 0x1d4]
push str.shufps__s__s__02X
push ecx
call ebp
push esi
lea edx, [esp + 0x88]
push str.__02X
push edx
call ebp
add esp, 0x20
jmp 0x10027d6f
movzx edx, byte [esp + 0x13]
lea eax, [esp + 0x114]
lea ecx, [esi + esi*8]
add ecx, edx
push eax
mov eax, dword [ecx*4 + 0x1003d228]
and edi, 0xf
mov ecx, dword [edi*4 + 0x1003d780]
jmp 0x10028284
movzx ecx, byte [esp + 0x13]
mov edx, dword [ecx*4 + 0x1003d47c]
lea eax, [esp + 0x114]
push eax
push edx
and edi, 0xf
mov eax, dword [edi*4 + 0x1003d780]
push eax
lea ecx, [esp + 0x1d4]
push str._s__s__s
push ecx
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x1c8]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
movzx eax, byte [esp + 0x13]
mov ecx, dword [eax*4 + 0x1003d47c]
lea edx, [esp + 0x114]
push edx
push ecx
and edi, 0xf
mov edx, dword [edi*4 + 0x1003d7c0]
push edx
lea eax, [esp + 0x1d4]
push str._s__s__s
push eax
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x1c8]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
movzx edx, byte [esp + 0x13]
mov eax, dword [edx*4 + 0x1003d47c]
lea ecx, [esp + 0x114]
and edi, 0xf
push ecx
mov ecx, dword [edi*4 + 0x1003d800]
push eax
push ecx
lea edx, [esp + 0x1d4]
push str._s__s__s
push edx
call ebp
add esp, 0x14
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
lea eax, [esp + 0x1c8]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
mov cl, byte [esp + 0x25c]
movzx eax, cl
cmp eax, 0xe7
ja case.0x100282d6.2
movzx edx, byte [eax + 0x1002b020]
jmp dword [edx*4 + 0x1002afe4]
mov bl, byte [esp + 0x13]
movzx ecx, bl
mov edx, dword [ecx*4 + 0x1003d4bc]
lea eax, [esp + 0x114]
push eax
push edx
lea eax, [esp + 0x1d0]
push 0x100381ac
push eax
call ebp
add esp, 0x10
cmp bl, 5
jbe case.0x100282d6.2
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
push str.Invalid_instruction
add edx, 0x100
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp case.0x100282d6.2
mov bl, byte [esp + 0x13]
movzx ecx, bl
mov edx, dword [ecx*4 + 0x1003d4dc]
lea eax, [esp + 0x114]
push eax
push edx
lea eax, [esp + 0x1d0]
push 0x100381ac
push eax
call ebp
add esp, 0x10
cmp bl, 5
jne case.0x100282d6.2
jmp 0x1002830f
cmp byte [esp + 0x274], 1
jne 0x100283a7
movzx eax, byte [esp + 0x13]
mov ecx, dword [eax*4 + 0x1003d49c]
push ecx
lea edx, [esp + 0x118]
push edx
lea eax, [esp + 0x1d0]
push str.movss__s__s
push eax
call ebp
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov byte [ecx], 0
mov eax, dword [eax]
add esp, 0x10
inc byte [eax + 0x240]
jmp case.0x100282d6.2
movzx edx, byte [esp + 0x13]
mov eax, dword [edx*4 + 0x1003d49c]
push eax
lea ecx, [esp + 0x118]
push ecx
lea edx, [esp + 0x1d0]
push str.movups__s__s
push edx
call ebp
add esp, 0x10
jmp case.0x100282d6.2
movzx eax, byte [esp + 0x13]
mov ecx, dword [eax*4 + 0x1003d49c]
push ecx
lea edx, [esp + 0x118]
push edx
lea eax, [esp + 0x1d0]
push str.movlps__s__s
push eax
call ebp
add esp, 0x10
jmp case.0x100282d6.2
movzx ecx, byte [esp + 0x13]
mov edx, dword [ecx*4 + 0x1003d49c]
push edx
lea eax, [esp + 0x118]
push eax
lea ecx, [esp + 0x1d0]
push str.movhps__s__s
push ecx
call ebp
add esp, 0x10
jmp case.0x100282d6.2
movzx edx, byte [esp + 0x13]
mov eax, dword [edx*4 + 0x1003d49c]
push eax
lea ecx, [esp + 0x118]
push ecx
lea edx, [esp + 0x1d0]
push str.movaps__s__s
push edx
call ebp
add esp, 0x10
jmp case.0x100282d6.2
movzx ecx, byte [esp + 0x13]
mov edx, dword [ecx*4 + 0x1003d47c]
and eax, 0xf
push edx
mov edx, dword [eax*4 + 0x1003d600]
jmp 0x100285fb
movzx edx, byte [esp + 0x13]
lea ecx, [esi + esi*8]
add ecx, edx
mov ecx, dword [ecx*4 + 0x1003d228]
push ecx
lea edx, [esp + 0x118]
push edx
and eax, 0xf
mov eax, dword [eax*4 + 0x1003d6a0]
push eax
push str._s__s__s
lea ecx, [esp + 0x1d8]
push ecx
jmp 0x10028611
movzx ecx, byte [esp + 0x13]
movzx ebx, bl
push ebx
lea edx, [esi + esi*8]
add edx, ecx
mov edx, dword [edx*4 + 0x1003d228]
push edx
and eax, 0xf
mov edx, dword [eax*4 + 0x1003d6a0]
lea ecx, [esp + 0x11c]
push ecx
push edx
lea eax, [esp + 0x1d8]
push str._s__s__s__02X
push eax
call ebp
push ebx
lea ecx, [esp + 0x8c]
push str.__02X
push ecx
call ebp
mov esi, dword [esp + 0x38]
mov eax, dword [esi]
add esp, 0x24
lea edx, [esp + 0x70]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esi]
inc byte [eax + 0x240]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp case.0x100282d6.2
movzx ecx, byte [esp + 0x13]
lea edx, [esi + esi*8]
add edx, ecx
mov edx, dword [edx*4 + 0x1003d228]
push edx
lea ecx, [esp + 0x118]
and eax, 0xf
mov edx, dword [eax*4 + 0x1003d6a0]
push ecx
push edx
push str._s__s__s_cl
jmp 0x10028609
test cl, 0xf
jne 0x10028557
xor esi, esi
movzx edx, byte [esp + 0x13]
lea ecx, [esi + esi*8]
add ecx, edx
mov ecx, dword [ecx*4 + 0x1003d228]
push ecx
lea edx, [esp + 0x118]
push edx
and eax, 0xf
mov eax, dword [eax*4 + 0x1003d700]
push eax
push str._s__s__s
lea ecx, [esp + 0x1d8]
push ecx
jmp 0x10028611
movzx edx, byte [esp + 0x13]
mov eax, dword [edx*4 + 0x1003d228]
push eax
lea ecx, [esp + 0x118]
push ecx
lea edx, [esp + 0x1d0]
push str.xadd__s__s
push edx
call ebp
add esp, 0x10
jmp case.0x100282d6.2
movzx ecx, byte [esp + 0x13]
lea eax, [esi + esi*8]
add eax, ecx
mov edx, dword [eax*4 + 0x1003d228]
push edx
lea eax, [esp + 0x118]
push eax
lea ecx, [esp + 0x1d0]
push str.xadd__s__s
push ecx
call ebp
add esp, 0x10
jmp case.0x100282d6.2
movzx edx, byte [esp + 0x13]
mov eax, dword [edx*4 + 0x1003d47c]
mov edx, dword [str.movntq]
push eax
lea ecx, [esp + 0x118]
push ecx
push edx
push str._s__s__s
lea eax, [esp + 0x1d8]
push eax
call ebp
add esp, 0x14
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
lea ecx, [esp + 0x1c8]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp 0x1002ac5c
cmp eax, 4
je 0x10029964
mov al, byte [edx + 1]
movzx edx, byte [esp + 0x24]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
mov cl, al
shr al, 3
and cl, 7
and al, 7
sub edx, 0
mov byte [esp + 0x40], cl
mov byte [esp + 0x1b], al
je 0x10028886
sub edx, 1
je 0x10028786
sub edx, 1
jne 0x10028a2d
cmp cl, 5
jne 0x10028695
cmp byte [esp + 0x264], dl
jne 0x10028695
mov dword [esp + 0x258], 2
mov eax, dword [esp + 0x20]
add eax, 2
mov dword [esp + 0x24], eax
pushal
mov edi, dword [esp + 0x44]
mov eax, dword [edi]
mov dword [esp + 0x58], eax
bswap eax
mov dword [esp + 0x40], eax
popal
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
add edx, dword [esp + 0x30]
mov dword [esp + 0x3c], edx
pushal
xor eax, eax
mov edi, dword [esp + 0x5c]
mov ax, word [edi]
mov word [esp + 0x3c], ax
bswap eax
shr eax, 0x10
mov word [esp + 0x44], ax
popal
mov eax, dword [esp + 0x20]
movzx ecx, word [esp + 0x24]
push eax
push ecx
lea edx, [esp + 0x78]
push str._04X__08X
push edx
call ebp
mov esi, dword [esp + 0x24]
mov ecx, dword [esi]
add esp, 0x10
lea eax, [esp + 0x70]
push eax
add ecx, 0x200
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [esp + 0x38]
push edx
lea eax, [esp + 0x198]
push str._08X
push eax
call ebp
movzx edx, byte [esp + 0x4c]
mov eax, dword [edx*4 + 0x1003d270]
lea ecx, [esp + 0x1a0]
push ecx
mov ecx, dword [esp + 0x268]
mov edx, dword [ecx*4 + 0x1003d2bc]
push eax
push edx
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x8c]
push str._s_ptr__s:__s_s_
push ecx
call ebp
mov edx, dword [esp + 0x4c]
mov eax, dword [edx]
add dword [eax], 5
mov eax, dword [esi]
mov ecx, dword [esp + 0x50]
mov byte [eax + 0x240], 6
mov edx, dword [ecx]
mov eax, dword [esp + 0x54]
mov cl, byte [eax + edx + 6]
add esp, 0x24
add eax, edx
mov byte [esp + 0x1c], cl
jmp 0x10028a18
mov eax, dword [esp + 0x20]
mov dl, byte [eax + 2]
mov byte [esp + 0x1c], dl
mov dword [esp + 0x3c], eax
pushal
xor eax, eax
mov edi, dword [esp + 0x5c]
mov ax, word [edi]
mov word [esp + 0x40], ax
bswap eax
shr eax, 0x10
mov word [esp + 0x44], ax
popal
mov bl, byte [esp + 0x1c]
movzx ecx, word [esp + 0x24]
movzx eax, bl
push eax
push ecx
lea edx, [esp + 0x78]
push str._04X_02X
push edx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x70]
push eax
add edx, 0x200
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp bl, 0x7f
jbe 0x10028800
mov eax, dword [0x1003d214]
push eax
lea ecx, [esp + 0x48]
push 0x100376bc
push ecx
call ebp
add esp, 0xc
neg bl
mov cl, byte [esp + 0x40]
cmp cl, 5
jne 0x10028818
cmp byte [esp + 0x264], 0
mov eax, 2
je 0x1002881f
mov eax, dword [esp + 0x258]
mov eax, dword [eax*4 + 0x1003d2bc]
movzx edx, bl
push edx
movzx ecx, cl
lea edx, [esp + 0x48]
push edx
mov edx, dword [ecx*4 + 0x1003d270]
push edx
push eax
lea ecx, [esp + 0x5c]
push ecx
lea edx, [esp + 0x84]
push str._s_ptr__s:__s_s_02X_
push edx
call ebp
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov ecx, dword [esp + 0x30]
add esp, 0x1c
add dword [eax], 2
mov edx, dword [ecx]
mov eax, dword [esp + 0x2c]
mov byte [edx + 0x240], 3
mov ecx, dword [eax]
mov edx, dword [esp + 0x30]
lea eax, [edx + ecx]
mov dword [esp + 0x20], eax
movzx eax, byte [eax + 3]
mov byte [esp + 0x1c], al
jmp 0x10028a1c
cmp cl, 5
mov ecx, dword [esp + 0x20]
jne 0x10028978
add ecx, 2
mov dword [esp + 0x3c], ecx
pushal
mov edi, dword [esp + 0x5c]
mov eax, dword [edi]
mov dword [esp + 0x60], eax
bswap eax
mov dword [esp + 0x58], eax
popal
mov edx, dword [esp + 0x2c]
mov eax, dword [edx]
add eax, dword [esp + 0x30]
mov dword [esp + 0x3c], eax
pushal
xor eax, eax
mov edi, dword [esp + 0x5c]
mov ax, word [edi]
mov word [esp + 0x40], ax
bswap eax
shr eax, 0x10
mov word [esp + 0x44], ax
popal
mov ecx, dword [esp + 0x38]
movzx edx, word [esp + 0x24]
push ecx
push edx
lea eax, [esp + 0x78]
push str._04X_08X
push eax
call ebp
mov esi, dword [esp + 0x24]
mov edx, dword [esi]
add esp, 0x10
lea ecx, [esp + 0x70]
push ecx
add edx, 0x200
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esp + 0x40]
push eax
lea ecx, [esp + 0x198]
push str._08X
push ecx
call ebp
mov eax, dword [esp + 0x264]
mov ecx, dword [eax*4 + 0x1003d2bc]
lea edx, [esp + 0x1a0]
push edx
push ecx
lea edx, [esp + 0x60]
push edx
lea eax, [esp + 0x88]
push str._s_ptr__s:__s_
push eax
call ebp
mov ecx, dword [esi]
mov edx, dword [esp + 0x48]
mov byte [ecx + 0x240], 6
mov eax, dword [edx]
mov edx, dword [esp + 0x50]
add esp, 0x20
add dword [eax], 5
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
lea eax, [edx + ecx]
mov dword [esp + 0x20], eax
movzx eax, byte [eax + 6]
mov byte [esp + 0x1c], al
jmp 0x10028a1c
mov dword [esp + 0x3c], ecx
pushal
xor eax, eax
mov edi, dword [esp + 0x5c]
mov ax, word [edi]
mov word [esp + 0x40], ax
bswap eax
shr eax, 0x10
mov word [esp + 0x44], ax
popal
movzx edx, word [esp + 0x24]
push edx
lea eax, [esp + 0x74]
push str._04X
push eax
call ebp
mov esi, dword [esp + 0x20]
mov edx, dword [esi]
add esp, 0xc
lea ecx, [esp + 0x70]
push ecx
add edx, 0x200
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx eax, byte [esp + 0x40]
mov ecx, dword [eax*4 + 0x1003d270]
mov edx, dword [esp + 0x258]
mov eax, dword [edx*4 + 0x1003d2bc]
push ecx
push eax
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x7c]
push str._s_ptr__s:__s_
push edx
call ebp
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
inc dword [eax]
mov ecx, dword [esi]
mov edx, dword [esp + 0x40]
mov byte [ecx + 0x240], 2
mov eax, dword [edx]
mov ecx, dword [esp + 0x44]
mov dl, byte [eax + ecx + 2]
add esp, 0x14
add eax, ecx
mov byte [esp + 0x1c], dl
mov dword [esp + 0x20], eax
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
mov bl, byte [esp + 0x274]
mov al, byte [esp + 0x1b]
movzx ecx, byte [esp + 0x26c]
sub ecx, 0
je 0x10029575
sub ecx, 1
jne 0x1002ac5c
mov dl, byte [esp + 0x25c]
movzx esi, dl
lea ecx, [esi - 2]
cmp ecx, 0xfc
ja case.0x10028a67.4
movzx ecx, byte [ecx + 0x1002b180]
jmp dword [ecx*4 + 0x1002b108]
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x70]
push edx
movzx edx, al
lea ecx, [ecx + ecx*8]
add ecx, edx
mov eax, dword [ecx*4 + 0x1003d228]
push eax
lea ecx, [esp + 0x11c]
push str.lar__s__s
push ecx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x70]
push edx
movzx edx, al
lea ecx, [ecx + ecx*8]
add ecx, edx
mov eax, dword [ecx*4 + 0x1003d228]
push eax
lea ecx, [esp + 0x11c]
push str.lsl__s__s
push ecx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
mov edx, dword [esp + 0x20]
mov al, byte [edx + 1]
cmp al, 0xf
jbe 0x10028b0d
cmp al, 0x40
jb 0x10028b03
cmp al, 0x4f
jbe 0x10028b0d
mov cl, al
sub cl, 0x80
cmp cl, 0xf
ja 0x10028b6d
and al, 0xf
cmp al, 7
ja 0x10028b40
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0x118]
push str.prefetcht__s
push eax
call ebp
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
add esp, 0xc
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
lea ecx, [esp + 0x70]
push ecx
lea edx, [esp + 0x118]
push str.prefetchtW__s
push edx
call ebp
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
add esp, 0xc
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
mov eax, dword [0x10037f3c]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov dword [esp + 0x114], eax
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
cmp bl, 1
jne 0x10028bdd
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov byte [edx], 0
mov ecx, dword [ecx]
inc byte [ecx + 0x240]
movzx edx, al
mov eax, dword [edx*4 + 0x1003d49c]
lea ecx, [esp + 0x70]
push ecx
push eax
lea ecx, [esp + 0x11c]
push str.movss__s__s
push ecx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
movzx eax, al
mov ecx, dword [eax*4 + 0x1003d49c]
lea edx, [esp + 0x70]
push edx
push ecx
lea edx, [esp + 0x11c]
push str.movups__s__s
push edx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
movzx edx, al
mov eax, dword [edx*4 + 0x1003d49c]
lea ecx, [esp + 0x70]
push ecx
push eax
lea ecx, [esp + 0x11c]
push str.movlps__s__s
push ecx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
movzx eax, al
mov ecx, dword [eax*4 + 0x1003d49c]
lea edx, [esp + 0x70]
push edx
push ecx
lea edx, [esp + 0x11c]
push str.unpcklps__s__s
push edx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
movzx edx, al
mov eax, dword [edx*4 + 0x1003d49c]
lea ecx, [esp + 0x70]
push ecx
push eax
lea ecx, [esp + 0x11c]
push str.unpckhps__s__s
push ecx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
movzx eax, al
mov ecx, dword [eax*4 + 0x1003d49c]
lea edx, [esp + 0x70]
push edx
push ecx
lea edx, [esp + 0x11c]
push str.movhps__s__s
push edx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
mov bl, byte [esp + 0x13]
movzx ecx, bl
mov edx, dword [ecx*4 + 0x1003d4fc]
lea eax, [esp + 0x70]
push eax
push edx
lea eax, [esp + 0x11c]
push str._s__s
push eax
call ebp
add esp, 0x10
cmp bl, 3
jbe case.0x10028a67.4
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
push str.Invalid_instruction
add edx, 0x100
push edx
call edi
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
movzx edx, al
mov eax, dword [edx*4 + 0x1003d49c]
lea ecx, [esp + 0x70]
push ecx
push eax
lea ecx, [esp + 0x11c]
push str.movaps__s__s
push ecx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
mov cl, dl
and cl, 0xf
sub cl, 8
cmp cl, 4
je 0x10028db2
cmp cl, 5
je 0x10028db2
movzx edi, al
mov edx, dword [edi*4 + 0x1003d49c]
push edx
push 0x100376bc
lea eax, [esp + 0x1d0]
push eax
jmp 0x10028dca
movzx edi, al
mov ecx, dword [edi*4 + 0x1003d47c]
push ecx
push 0x100376bc
lea edx, [esp + 0x1d0]
push edx
call ebp
add esp, 0xc
cmp bl, 1
jne 0x10028ef5
mov al, byte [esp + 0x25c]
cmp al, 0x2a
je 0x10028def
cmp al, 0x2c
je 0x10028def
cmp al, 0x2d
jne case.0x10028a67.4
sub esi, 0x2a
je 0x10028e7b
sub esi, 2
je 0x10028e3c
sub esi, 1
jne 0x10028ea1
mov eax, dword [esp + 0x34]
lea ecx, [edi + eax*8]
add ecx, eax
mov edx, dword [ecx*4 + 0x1003d228]
push edx
lea eax, [esp + 0x1cc]
push 0x100376bc
push eax
call ebp
mov ecx, dword [str.cvtss2si]
mov edx, dword [0x10038884]
mov al, byte [0x10038888]
add esp, 0xc
jmp 0x10028e8c
mov eax, dword [esp + 0x34]
lea ecx, [edi + eax*8]
add ecx, eax
mov edx, dword [ecx*4 + 0x1003d228]
push edx
lea eax, [esp + 0x1cc]
push 0x100376bc
push eax
call ebp
mov ax, word [0x1003887c]
mov ecx, dword [str.cvttss2si]
mov edx, dword [0x10038878]
add esp, 0xc
mov word [esp + 0xf8], ax
jmp 0x10028e93
mov ecx, dword [str.cvtsi2ss]
mov edx, dword [0x10038a0c]
mov al, byte [0x10038a10]
mov byte [esp + 0xf8], al
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov byte [ecx], 0
mov eax, dword [eax]
inc byte [eax + 0x240]
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0x1cc]
push eax
lea ecx, [esp + 0xf8]
push ecx
push str._s__s__s
lea edx, [esp + 0x124]
push edx
call ebp
add esp, 0x14
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x1cc]
push ecx
and esi, 0xf
mov edx, dword [esi*4 + 0x1003d4fc]
push edx
push str._s__s__s
lea eax, [esp + 0x124]
push eax
jmp 0x10028ed4
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x38]
movzx eax, al
lea edx, [ecx + ecx*8]
add edx, eax
mov ecx, dword [edx*4 + 0x1003d228]
push ecx
and esi, 0xf
mov edx, dword [esi*4 + 0x1003d540]
push edx
lea eax, [esp + 0x120]
push str._s__s__s
push eax
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
and esi, 0xf
cmp bl, 1
jne 0x10028fc1
movzx edx, al
mov eax, dword [edx*4 + 0x1003d49c]
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [esi*4 + 0x1003d5c0]
push eax
push ecx
lea edx, [esp + 0x120]
push str._s__s__s
push edx
call ebp
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov byte [ecx], 0
mov eax, dword [eax]
inc byte [eax + 0x240]
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
movzx eax, al
mov ecx, dword [eax*4 + 0x1003d49c]
lea edx, [esp + 0x70]
push edx
mov edx, dword [esi*4 + 0x1003d580]
push ecx
push edx
lea eax, [esp + 0x120]
push str._s__s__s
push eax
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
movzx edx, al
mov eax, dword [edx*4 + 0x1003d47c]
lea ecx, [esp + 0x70]
push ecx
push eax
and esi, 0xf
mov ecx, dword [esi*4 + 0x1003d600]
push ecx
lea edx, [esp + 0x120]
push str._s__s__s
push edx
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
movzx edi, byte [esp + 0x1c]
push edi
movzx edx, al
mov eax, dword [edx*4 + 0x1003d47c]
lea ecx, [esp + 0x74]
push ecx
push eax
and esi, 0xf
mov ecx, dword [esi*4 + 0x1003d640]
push ecx
lea edx, [esp + 0x124]
push str._s__s__s__02X
push edx
call ebp
push edi
lea eax, [esp + 0x8c]
push str.__02X
push eax
call ebp
mov esi, dword [esp + 0x38]
mov edx, dword [esi]
add esp, 0x24
lea ecx, [esp + 0x70]
push ecx
add edx, 0x200
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esi]
inc byte [eax + 0x240]
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
inc dword [eax]
jmp case.0x10028a67.4
movzx edx, al
mov eax, dword [edx*4 + 0x1003d47c]
lea ecx, [esp + 0x70]
push ecx
push eax
and esi, 0xf
mov ecx, dword [esi*4 + 0x1003d640]
push ecx
lea edx, [esp + 0x120]
push str._s__s__s
push edx
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
lea eax, [esp + 0x70]
push eax
and esi, 0xf
mov ecx, dword [esi*4 + 0x1003d660]
push ecx
lea edx, [esp + 0x11c]
push 0x100381ac
push edx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
mov bl, byte [esp + 0x13]
movzx ecx, bl
mov edx, dword [ecx*4 + 0x1003d6e0]
lea eax, [esp + 0x70]
push eax
push edx
lea eax, [esp + 0x11c]
push 0x100381ac
push eax
call ebp
add esp, 0x10
cmp bl, 3
jbe case.0x10028a67.4
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
push str.Invalid_Instruction
add edx, 0x100
push edx
call edi
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x38]
movzx eax, al
lea edx, [ecx + ecx*8]
add edx, eax
mov ecx, dword [edx*4 + 0x1003d228]
push ecx
and esi, 0xf
mov edx, dword [esi*4 + 0x1003d6a0]
push edx
lea eax, [esp + 0x120]
push str._s__s__s
push eax
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x38]
movzx eax, al
lea edx, [ecx + ecx*8]
add edx, eax
mov ecx, dword [edx*4 + 0x1003d228]
push ecx
and esi, 0xf
mov edx, dword [esi*4 + 0x1003d700]
push edx
lea eax, [esp + 0x120]
push str._s__s__s
push eax
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
cmp byte [esp + 0x1c], 8
movzx esi, byte [esp + 0x1c]
jae 0x1002929c
cmp bl, 1
jne 0x10029275
movzx edx, al
mov eax, dword [edx*4 + 0x1003d49c]
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [esi*4 + 0x1003d760]
push eax
push ecx
lea edx, [esp + 0x120]
push str._s__s__s
push edx
call ebp
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov byte [ecx], 0
mov eax, dword [eax]
add esp, 0x14
inc byte [eax + 0x240]
jmp 0x100292e2
movzx eax, al
mov ecx, dword [eax*4 + 0x1003d49c]
lea edx, [esp + 0x70]
push edx
mov edx, dword [esi*4 + 0x1003d740]
push ecx
push edx
push str._s__s__s
lea eax, [esp + 0x124]
push eax
jmp 0x100292dd
movzx edx, al
mov eax, dword [edx*4 + 0x1003d49c]
lea ecx, [esp + 0x70]
push esi
push ecx
push eax
lea ecx, [esp + 0x120]
cmp bl, 1
jne 0x100292d7
push str.cmpss__s__s__02X
push ecx
call ebp
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
mov byte [edx], 0
mov eax, dword [eax]
add esp, 0x14
inc byte [eax + 0x240]
jmp 0x100292e2
push str.cmpps__s__s__02X
push ecx
call ebp
add esp, 0x14
push esi
lea edx, [esp + 0x74]
push str.__02X
push edx
call ebp
mov esi, dword [esp + 0x20]
mov ecx, dword [esi]
add esp, 0xc
lea eax, [esp + 0x70]
push eax
add ecx, 0x200
push ecx
call edi
mov eax, dword [esi]
inc byte [eax + 0x240]
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
inc dword [eax]
lea eax, [esp + 0x114]
mov ecx, esi
mov edx, dword [ecx]
push eax
push edx
call edi
jmp 0x1002ac5c
movzx esi, byte [esp + 0x1c]
push esi
movzx edx, al
mov eax, dword [edx*4 + 0x1003d47c]
lea ecx, [esp + 0x74]
push ecx
push eax
push str.pinsrw__s__s__02X
lea ecx, [esp + 0x124]
push ecx
call ebp
push esi
lea edx, [esp + 0x88]
push str.__02X
push edx
call ebp
mov esi, dword [esp + 0x34]
mov ecx, dword [esi]
add esp, 0x20
lea eax, [esp + 0x70]
push eax
add ecx, 0x200
push ecx
call edi
mov eax, dword [esi]
inc byte [eax + 0x240]
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
inc dword [eax]
lea eax, [esp + 0x114]
mov ecx, esi
mov edx, dword [ecx]
push eax
push edx
call edi
jmp 0x1002ac5c
movzx esi, byte [esp + 0x1c]
push esi
lea ecx, [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x3c]
movzx eax, al
lea edx, [ecx + ecx*8]
add edx, eax
mov ecx, dword [edx*4 + 0x1003d228]
push ecx
lea edx, [esp + 0x120]
push str.pextrw__s__s__02X
push edx
call ebp
push esi
lea eax, [esp + 0x88]
push str.__02X
push eax
call ebp
mov esi, dword [esp + 0x34]
mov edx, dword [esi]
add esp, 0x20
lea ecx, [esp + 0x70]
push ecx
add edx, 0x200
push edx
call edi
mov eax, dword [esi]
inc byte [eax + 0x240]
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
inc dword [eax]
lea eax, [esp + 0x114]
mov ecx, esi
mov edx, dword [ecx]
push eax
push edx
call edi
jmp 0x1002ac5c
movzx esi, byte [esp + 0x1c]
push esi
movzx edx, al
mov eax, dword [edx*4 + 0x1003d49c]
lea ecx, [esp + 0x74]
push ecx
push eax
push str.shufps__s__s__02X
jmp 0x10029345
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x118]
push str.cmpxchg8b__s
push ecx
call ebp
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
add esp, 0xc
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x70]
push edx
movzx edx, al
lea ecx, [ecx + ecx*8]
add ecx, edx
mov eax, dword [ecx*4 + 0x1003d228]
push eax
and esi, 0xf
mov ecx, dword [esi*4 + 0x1003d780]
push ecx
lea edx, [esp + 0x120]
push str._s__s__s
push edx
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
movzx edx, al
mov eax, dword [edx*4 + 0x1003d47c]
lea ecx, [esp + 0x70]
push ecx
push eax
and esi, 0xf
mov ecx, dword [esi*4 + 0x1003d780]
push ecx
lea edx, [esp + 0x120]
push str._s__s__s
push edx
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
movzx edx, al
mov eax, dword [edx*4 + 0x1003d47c]
lea ecx, [esp + 0x70]
push ecx
push eax
and esi, 0xf
mov ecx, dword [esi*4 + 0x1003d7c0]
push ecx
lea edx, [esp + 0x120]
push str._s__s__s
push edx
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
movzx edx, al
mov eax, dword [edx*4 + 0x1003d47c]
lea ecx, [esp + 0x70]
push ecx
push eax
and esi, 0xf
mov ecx, dword [esi*4 + 0x1003d800]
push ecx
lea edx, [esp + 0x120]
push str._s__s__s
push edx
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x114]
push eax
push edx
call edi
jmp 0x1002ac5c
mov dl, byte [esp + 0x25c]
movzx ecx, dl
cmp ecx, 0xe7
ja case.0x10029592.2
movzx esi, byte [ecx + 0x1002b2bc]
jmp dword [esi*4 + 0x1002b280]
mov bl, byte [esp + 0x13]
movzx ecx, bl
mov edx, dword [ecx*4 + 0x1003d4bc]
lea eax, [esp + 0x70]
push eax
push edx
lea eax, [esp + 0x11c]
push 0x100381ac
push eax
call ebp
add esp, 0x10
cmp bl, 5
jbe case.0x10029592.2
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
push str.Invalid_instruction
add edx, 0x100
push edx
call edi
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
lea edx, [esp + 0x114]
push edx
push ecx
call edi
jmp 0x1002ac5c
mov bl, byte [esp + 0x13]
movzx ecx, bl
mov edx, dword [ecx*4 + 0x1003d4dc]
lea eax, [esp + 0x70]
push eax
push edx
lea eax, [esp + 0x11c]
push 0x100381ac
push eax
call ebp
add esp, 0x10
cmp bl, 5
jne case.0x10029592.2
jmp 0x100295c8
cmp bl, 1
jne 0x10029671
movzx eax, al
mov ecx, dword [eax*4 + 0x1003d49c]
push ecx
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x11c]
push str.movss__s__s
push eax
call ebp
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov byte [ecx], 0
mov eax, dword [eax]
inc byte [eax + 0x240]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
add esp, 0x10
lea edx, [esp + 0x114]
push edx
push ecx
call edi
jmp 0x1002ac5c
movzx edx, al
mov eax, dword [edx*4 + 0x1003d49c]
push eax
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x11c]
push str.movups__s__s
push edx
call ebp
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
add esp, 0x10
lea edx, [esp + 0x114]
push edx
push ecx
call edi
jmp 0x1002ac5c
movzx eax, al
mov ecx, dword [eax*4 + 0x1003d49c]
push ecx
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x11c]
push str.movlps__s__s
push eax
call ebp
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
add esp, 0x10
lea edx, [esp + 0x114]
push edx
push ecx
call edi
jmp 0x1002ac5c
movzx ecx, al
mov edx, dword [ecx*4 + 0x1003d49c]
push edx
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x11c]
push str.movhps__s__s
push ecx
call ebp
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
add esp, 0x10
lea edx, [esp + 0x114]
push edx
push ecx
call edi
jmp 0x1002ac5c
movzx edx, al
mov eax, dword [edx*4 + 0x1003d49c]
push eax
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x11c]
push str.movaps__s__s
push edx
call ebp
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
add esp, 0x10
lea edx, [esp + 0x114]
push edx
push ecx
call edi
jmp 0x1002ac5c
movzx eax, al
mov edx, dword [eax*4 + 0x1003d47c]
push edx
lea eax, [esp + 0x74]
push eax
and ecx, 0xf
mov ecx, dword [ecx*4 + 0x1003d600]
push ecx
push str._s__s__s
lea edx, [esp + 0x124]
push edx
jmp 0x10029949
mov edx, dword [esp + 0x34]
movzx eax, al
lea edx, [edx + edx*8]
add edx, eax
mov edx, dword [edx*4 + 0x1003d228]
push edx
lea eax, [esp + 0x74]
push eax
and ecx, 0xf
mov ecx, dword [ecx*4 + 0x1003d6a0]
push ecx
push str._s__s__s
lea edx, [esp + 0x124]
push edx
jmp 0x10029949
mov edx, dword [esp + 0x34]
movzx esi, byte [esp + 0x1c]
movzx eax, al
lea edx, [edx + edx*8]
add edx, eax
mov edx, dword [edx*4 + 0x1003d228]
push esi
push edx
lea eax, [esp + 0x78]
push eax
and ecx, 0xf
mov ecx, dword [ecx*4 + 0x1003d6a0]
push ecx
lea edx, [esp + 0x124]
push str._s__s__s__02X
push edx
call ebp
push esi
lea eax, [esp + 0x8c]
push str.__02X
push eax
call ebp
mov esi, dword [esp + 0x38]
mov edx, dword [esi]
add esp, 0x24
lea ecx, [esp + 0x70]
push ecx
add edx, 0x200
push edx
call edi
mov eax, dword [esi]
inc byte [eax + 0x240]
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
inc dword [eax]
lea edx, [esp + 0x114]
mov eax, esi
mov ecx, dword [eax]
push edx
push ecx
call edi
jmp 0x1002ac5c
mov edx, dword [esp + 0x34]
movzx eax, al
lea edx, [edx + edx*8]
add edx, eax
mov edx, dword [edx*4 + 0x1003d228]
push edx
lea eax, [esp + 0x74]
push eax
and ecx, 0xf
mov ecx, dword [ecx*4 + 0x1003d6a0]
push ecx
push str._s__s__s_cl
lea edx, [esp + 0x124]
push edx
jmp 0x10029949
test dl, 0xf
jne 0x10029877
xor edx, edx
jmp 0x1002987b
mov edx, dword [esp + 0x34]
movzx eax, al
lea edx, [edx + edx*8]
add edx, eax
mov edx, dword [edx*4 + 0x1003d228]
push edx
lea eax, [esp + 0x74]
push eax
and ecx, 0xf
mov ecx, dword [ecx*4 + 0x1003d700]
push ecx
push str._s__s__s
lea edx, [esp + 0x124]
push edx
jmp 0x10029949
movzx eax, al
mov ecx, dword [eax*4 + 0x1003d228]
push ecx
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x11c]
push str.xadd__s__s
push eax
call ebp
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
add esp, 0x10
lea edx, [esp + 0x114]
push edx
push ecx
call edi
jmp 0x1002ac5c
mov ecx, dword [esp + 0x34]
movzx edx, al
lea ecx, [ecx + ecx*8]
add ecx, edx
mov eax, dword [ecx*4 + 0x1003d228]
push eax
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x11c]
push str.xadd__s__s
push edx
call ebp
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
add esp, 0x10
lea edx, [esp + 0x114]
push edx
push ecx
call edi
jmp 0x1002ac5c
movzx eax, al
mov ecx, dword [eax*4 + 0x1003d47c]
mov eax, dword [str.movntq]
push ecx
lea edx, [esp + 0x74]
push edx
push eax
push str._s__s__s
lea ecx, [esp + 0x124]
push ecx
call ebp
add esp, 0x14
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
lea edx, [esp + 0x114]
push edx
push ecx
call edi
jmp 0x1002ac5c
mov al, byte [edx + 2]
mov bl, al
mov cl, al
movzx eax, al
shr bl, 3
and bl, 7
and cl, 7
shr eax, 6
mov byte [esp + 0x40], bl
mov byte [esp + 0x1b], cl
cmp eax, edi
ja case.default.0x10029986
jmp dword [eax*4 + 0x1002b3a4]
mov eax, dword [0x1003d218]
jmp 0x100299bf
mov edx, dword [0x1003d21c]
push edx
push 0x100376bc
lea eax, [esp + 0x4c]
push eax
jmp 0x100299ca
mov ecx, dword [0x1003d220]
push ecx
push 0x100376bc
lea edx, [esp + 0x4c]
push edx
jmp 0x100299ca
mov eax, dword [0x1003d224]
push eax
push 0x100376bc
lea ecx, [esp + 0x4c]
push ecx
call ebp
add esp, 0xc
movzx eax, byte [esp + 0x24]
sub eax, 0
je 0x10029cb7
sub eax, 1
je 0x10029b59
sub eax, 1
jne 0x10029f3c
mov edx, dword [esp + 0x2c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x30]
lea edx, [ecx + eax + 3]
mov dword [esp + 0x3c], edx
pushal
mov edi, dword [esp + 0x5c]
mov eax, dword [edi]
mov dword [esp + 0x3c], eax
bswap eax
mov dword [esp + 0x58], eax
popal
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
mov edx, dword [esp + 0x30]
lea eax, [edx + ecx + 3]
mov dword [esp + 0x3c], eax
pushal
xor eax, eax
mov edi, dword [esp + 0x5c]
mov ax, word [edi]
mov word [esp + 0x40], ax
bswap eax
shr eax, 0x10
mov word [esp + 0x44], ax
popal
mov al, byte [esp + 0x40]
cmp al, 4
je 0x10029aa6
mov dl, byte [esp + 0x1b]
mov ecx, 2
cmp dl, 5
je 0x10029a60
mov ecx, dword [esp + 0x258]
mov esi, dword [esp + 0x1c]
push esi
movzx edx, dl
mov edx, dword [edx*4 + 0x1003d270]
lea esi, [esp + 0x5c]
push esi
push edx
movzx eax, al
lea edx, [esp + 0x50]
push edx
mov edx, dword [eax*4 + 0x1003d270]
mov eax, dword [ecx*4 + 0x1003d2bc]
push edx
push eax
lea ecx, [esp + 0x64]
push ecx
lea edx, [esp + 0x130]
push str._s_ptr__s:__s_s_s_s_08X_
push edx
call ebp
add esp, 0x24
jmp 0x10029ae3
mov eax, dword [esp + 0x1c]
movzx edx, byte [esp + 0x1b]
push eax
mov eax, dword [edx*4 + 0x1003d270]
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x260]
mov edx, dword [ecx*4 + 0x1003d2bc]
push eax
push edx
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x128]
push str._s_ptr__s:__s_s_08X_
push ecx
call ebp
add esp, 0x1c
mov edx, dword [esp + 0x38]
movzx eax, word [esp + 0x24]
movzx ecx, byte [esp + 0x25c]
push edx
push eax
push ecx
lea edx, [esp + 0x7c]
push str._02X_04X__08X
push edx
call ebp
mov esi, dword [esp + 0x28]
mov ecx, dword [esi]
add esp, 0x14
lea eax, [esp + 0x70]
push eax
add ecx, 0x200
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
add dword [eax], 6
mov eax, dword [esi]
mov byte [eax + 0x240], 7
xor eax, eax
mov cl, byte [esp + eax + 0x114]
mov byte [esp + eax + 0x70], cl
inc eax
test cl, cl
jne 0x10029b32
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov eax, dword [esp + 0x30]
mov cl, byte [eax + edx + 7]
mov byte [esp + 0x1c], cl
jmp 0x10029f38
mov edx, dword [esp + 0x2c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x30]
mov al, byte [ecx + eax + 3]
mov byte [esp + 0x1c], al
cmp al, 0x7f
jbe 0x10029b8f
mov edx, dword [0x1003d214]
push edx
lea eax, [esp + 0x5c]
push 0x100376bc
push eax
call ebp
mov cl, byte [esp + 0x28]
add esp, 0xc
neg cl
mov byte [esp + 0x1c], cl
cmp byte [esp + 0x1b], 5
je 0x10029bef
cmp bl, 4
je 0x10029bef
movzx edx, byte [esp + 0x1c]
movzx ecx, byte [esp + 0x1b]
push edx
mov edx, dword [ecx*4 + 0x1003d270]
lea eax, [esp + 0x5c]
push eax
push edx
movzx ecx, bl
mov edx, dword [ecx*4 + 0x1003d270]
lea eax, [esp + 0x50]
push eax
mov eax, dword [esp + 0x268]
mov ecx, dword [eax*4 + 0x1003d2bc]
push edx
push ecx
lea edx, [esp + 0x64]
push edx
lea eax, [esp + 0x130]
push str._s_ptr__s:__s_s_s_s_02X_
push eax
call ebp
add esp, 0x24
jmp 0x10029c25
movzx ecx, byte [esp + 0x1c]
movzx eax, byte [esp + 0x1b]
push ecx
mov ecx, dword [eax*4 + 0x1003d270]
lea edx, [esp + 0x5c]
push edx
mov edx, dword [0x1003d2c4]
push ecx
push edx
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x128]
push str._s_ptr__s:__s_s_02X_
push ecx
call ebp
add esp, 0x1c
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
add dword [eax], 3
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
add ecx, dword [esp + 0x30]
mov dword [esp + 0x3c], ecx
pushal
mov edi, dword [esp + 0x5c]
mov eax, dword [edi]
mov dword [esp + 0x40], eax
bswap eax
mov dword [esp + 0x58], eax
popal
mov edx, dword [esp + 0x38]
push edx
lea eax, [esp + 0x74]
push str._08X
push eax
call ebp
mov esi, dword [esp + 0x20]
mov edx, dword [esi]
add esp, 0xc
lea ecx, [esp + 0x70]
push ecx
add edx, 0x200
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esi]
mov byte [eax + 0x240], 4
xor eax, eax
jmp 0x10029c90
mov cl, byte [esp + eax + 0x114]
mov byte [esp + eax + 0x70], cl
inc eax
test cl, cl
jne 0x10029c90
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov eax, dword [esp + 0x30]
mov cl, byte [eax + edx + 4]
mov byte [esp + 0x1c], cl
jmp 0x10029f38
mov edx, dword [esp + 0x2c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x30]
lea edx, [ecx + eax + 1]
mov dword [esp + 0x3c], edx
pushal
xor eax, eax
mov edi, dword [esp + 0x5c]
mov ax, word [edi]
mov word [esp + 0x40], ax
bswap eax
shr eax, 0x10
mov word [esp + 0x44], ax
popal
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
mov edx, dword [esp + 0x30]
lea eax, [edx + ecx + 3]
mov dword [esp + 0x3c], eax
pushal
mov edi, dword [esp + 0x5c]
mov eax, dword [edi]
mov dword [esp + 0x40], eax
bswap eax
mov dword [esp + 0x58], eax
popal
mov bl, byte [esp + 0x40]
cmp bl, 4
jne 0x10029db8
mov al, byte [esp + 0x1b]
cmp al, 5
je 0x10029e70
mov edi, 2
cmp al, bl
je 0x10029d30
mov edi, dword [esp + 0x258]
movzx ecx, word [esp + 0x24]
movzx edx, byte [esp + 0x25c]
push ecx
push edx
lea eax, [esp + 0x78]
push str._02X_04X
push eax
call ebp
mov esi, dword [esp + 0x24]
mov edx, dword [esi]
add esp, 0x10
lea ecx, [esp + 0x70]
push ecx
add edx, 0x200
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx eax, byte [esp + 0x1b]
mov ecx, dword [eax*4 + 0x1003d270]
mov edx, dword [edi*4 + 0x1003d2bc]
push ecx
push edx
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x7c]
push str._s_ptr__s:__s_
push ecx
call ebp
mov edx, dword [esp + 0x3c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x40]
add esp, 0x14
add dword [eax], 2
mov eax, dword [esi]
mov byte [eax + 0x240], 3
mov edx, dword [ecx]
mov eax, dword [esp + 0x30]
mov cl, byte [eax + edx + 3]
mov byte [esp + 0x1c], cl
jmp 0x10029f38
cmp byte [esp + 0x1b], 5
je 0x10029e70
cmp byte [esp + 0x1b], 4
mov edi, 2
je 0x10029dd6
mov edi, dword [esp + 0x258]
movzx edx, word [esp + 0x24]
movzx eax, byte [esp + 0x25c]
push edx
push eax
lea ecx, [esp + 0x78]
push str._02X_04X
push ecx
call ebp
mov esi, dword [esp + 0x24]
mov eax, dword [esi]
add esp, 0x10
lea edx, [esp + 0x70]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx ecx, byte [esp + 0x1b]
mov edx, dword [ecx*4 + 0x1003d270]
push edx
movzx ecx, bl
mov edx, dword [ecx*4 + 0x1003d270]
lea eax, [esp + 0x48]
push eax
mov eax, dword [edi*4 + 0x1003d2bc]
push edx
push eax
lea ecx, [esp + 0x5c]
push ecx
lea edx, [esp + 0x84]
push str._s_ptr__s:__s_s_s_
push edx
call ebp
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov edx, dword [esp + 0x48]
add esp, 0x1c
add dword [eax], 2
mov ecx, dword [esi]
mov byte [ecx + 0x240], 3
mov eax, dword [edx]
mov ecx, dword [esp + 0x30]
mov dl, byte [ecx + eax + 3]
mov byte [esp + 0x1c], dl
jmp 0x10029f38
mov eax, dword [esp + 0x38]
movzx ecx, word [esp + 0x24]
movzx edx, byte [esp + 0x25c]
push eax
push ecx
push edx
lea eax, [esp + 0x7c]
push str._02X_04X__08X
push eax
call ebp
mov esi, dword [esp + 0x28]
mov edx, dword [esi]
add esp, 0x14
lea ecx, [esp + 0x70]
push ecx
add edx, 0x200
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp bl, 4
jne 0x10029ebf
xor al, al
mov byte [esp + 0x1c8], al
mov byte [esp + 0x44], al
jmp 0x10029edc
movzx eax, bl
mov ecx, dword [eax*4 + 0x1003d270]
push ecx
lea edx, [esp + 0x1cc]
push 0x100376bc
push edx
call ebp
add esp, 0xc
mov eax, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x25c]
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [eax*4 + 0x1003d2bc]
lea edx, [esp + 0x1d0]
push edx
push ecx
lea edx, [esp + 0x5c]
push edx
lea eax, [esp + 0x84]
push str._s_ptr__s:__s_s_08X_
push eax
call ebp
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
add esp, 0x1c
add dword [eax], 6
mov edx, dword [esi]
mov eax, dword [esp + 0x2c]
mov byte [edx + 0x240], 7
mov ecx, dword [eax]
mov edx, dword [esp + 0x30]
mov al, byte [edx + ecx + 6]
mov byte [esp + 0x1c], al
mov esi, dword [esp + 0x34]
movzx eax, byte [esp + 0x26c]
sub eax, 0
je 0x1002a916
sub eax, 1
jne 0x1002ac5c
mov al, byte [esp + 0x25c]
movzx edi, al
lea ecx, [edi - 2]
cmp ecx, 0xfc
ja case.0x10029f76.4
movzx ecx, byte [ecx + 0x1002b424]
jmp dword [ecx*4 + 0x1002b3b4]
movzx ecx, byte [esp + 0x13]
lea edx, [esp + 0x70]
push edx
lea eax, [esi + esi*8]
add eax, ecx
mov edx, dword [eax*4 + 0x1003d228]
push edx
lea eax, [esp + 0x11c]
push str.lar__s__s
push eax
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x114]
push eax
push edx
jmp 0x1002ac56
movzx eax, byte [esp + 0x13]
lea ecx, [esp + 0x70]
push ecx
lea edx, [esi + esi*8]
add edx, eax
mov ecx, dword [edx*4 + 0x1003d228]
push ecx
lea edx, [esp + 0x11c]
push str.lsl__s__s
push edx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x114]
push eax
push edx
jmp 0x1002ac56
cmp byte [esp + 0x274], 1
jne 0x1002a04a
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov byte [ecx], 0
mov eax, dword [eax]
inc byte [eax + 0x240]
movzx eax, byte [esp + 0x13]
mov ecx, dword [eax*4 + 0x1003d49c]
lea edx, [esp + 0x70]
push edx
push ecx
lea edx, [esp + 0x11c]
push str.movss__s__s
push edx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x114]
push eax
push edx
jmp 0x1002ac56
movzx ecx, byte [esp + 0x13]
mov edx, dword [ecx*4 + 0x1003d49c]
lea eax, [esp + 0x70]
push eax
push edx
lea eax, [esp + 0x11c]
push str.movups__s__s
push eax
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x114]
push eax
push edx
jmp 0x1002ac56
movzx edx, byte [esp + 0x13]
mov eax, dword [edx*4 + 0x1003d49c]
lea ecx, [esp + 0x70]
push ecx
push eax
lea ecx, [esp + 0x11c]
push str.movlps__s__s
push ecx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x114]
push eax
push edx
jmp 0x1002ac56
movzx eax, byte [esp + 0x13]
mov ecx, dword [eax*4 + 0x1003d49c]
lea edx, [esp + 0x70]
push edx
push ecx
lea edx, [esp + 0x11c]
push str.unpcklps__s__s
push edx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x114]
push eax
push edx
jmp 0x1002ac56
movzx ecx, byte [esp + 0x13]
mov edx, dword [ecx*4 + 0x1003d49c]
lea eax, [esp + 0x70]
push eax
push edx
lea eax, [esp + 0x11c]
push str.unpckhps__s__s
push eax
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x114]
push eax
push edx
jmp 0x1002ac56
movzx edx, byte [esp + 0x13]
mov eax, dword [edx*4 + 0x1003d49c]
lea ecx, [esp + 0x70]
push ecx
push eax
lea ecx, [esp + 0x11c]
push str.movhps__s__s
push ecx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x114]
push eax
push edx
jmp 0x1002ac56
mov bl, byte [esp + 0x13]
movzx eax, bl
mov ecx, dword [eax*4 + 0x1003d4fc]
lea edx, [esp + 0x70]
push edx
push ecx
lea edx, [esp + 0x11c]
push str._s__s
push edx
call ebp
add esp, 0x10
cmp bl, 3
jbe case.0x10029f76.4
push str.Invalid_instruction
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
add ecx, 0x100
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
lea eax, [esp + 0x114]
push eax
push edx
jmp 0x1002ac56
movzx eax, byte [esp + 0x13]
mov ecx, dword [eax*4 + 0x1003d49c]
lea edx, [esp + 0x70]
push edx
push ecx
lea edx, [esp + 0x11c]
push str.movaps__s__s
push edx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x114]
push eax
push edx
jmp 0x1002ac56
and al, 0xf
sub al, 8
cmp al, 4
je 0x1002a21d
cmp al, 5
je 0x1002a21d
movzx ebx, byte [esp + 0x13]
mov eax, dword [ebx*4 + 0x1003d49c]
push eax
push 0x100376bc
lea ecx, [esp + 0x1d0]
push ecx
jmp 0x1002a237
movzx ebx, byte [esp + 0x13]
mov edx, dword [ebx*4 + 0x1003d47c]
push edx
push 0x100376bc
lea eax, [esp + 0x1d0]
push eax
call ebp
add esp, 0xc
cmp byte [esp + 0x274], 1
jne 0x1002a334
mov al, byte [esp + 0x25c]
cmp al, 0x2a
je 0x1002a261
cmp al, 0x2c
je 0x1002a261
cmp al, 0x2d
jne case.0x10029f76.4
sub edi, 0x2a
je 0x1002a2e5
sub edi, 2
je 0x1002a2aa
sub edi, 1
jne 0x1002a30b
lea ecx, [ebx + esi*8]
add ecx, esi
mov edx, dword [ecx*4 + 0x1003d228]
push edx
lea eax, [esp + 0x1cc]
push 0x100376bc
push eax
call ebp
mov ecx, dword [str.cvtss2si]
mov edx, dword [0x10038884]
mov al, byte [0x10038888]
add esp, 0xc
jmp 0x1002a2f6
lea ecx, [ebx + esi*8]
add ecx, esi
mov edx, dword [ecx*4 + 0x1003d228]
push edx
lea eax, [esp + 0x1cc]
push 0x100376bc
push eax
call ebp
mov ax, word [0x1003887c]
mov ecx, dword [str.cvttss2si]
mov edx, dword [0x10038878]
add esp, 0xc
mov word [esp + 0xf8], ax
jmp 0x1002a2fd
mov ecx, dword [str.cvtsi2ss]
mov edx, dword [0x10038a0c]
mov al, byte [0x10038a10]
mov byte [esp + 0xf8], al
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov byte [ecx], 0
mov eax, dword [eax]
inc byte [eax + 0x240]
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0x1cc]
lea ecx, [esp + 0xf4]
jmp 0x1002a8ee
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x1cc]
push ecx
and edi, 0xf
mov edx, dword [edi*4 + 0x1003d4fc]
push edx
lea eax, [esp + 0x120]
push str._s__s__s
push eax
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x114]
push eax
push edx
jmp 0x1002ac56
movzx eax, byte [esp + 0x13]
lea ecx, [esp + 0x70]
push ecx
lea edx, [esi + esi*8]
add edx, eax
mov ecx, dword [edx*4 + 0x1003d228]
push ecx
and edi, 0xf
mov edx, dword [edi*4 + 0x1003d540]
push edx
lea eax, [esp + 0x120]
push str._s__s__s
push eax
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x114]
push eax
push edx
jmp 0x1002ac56
and edi, 0xf
cmp byte [esp + 0x274], 1
jne 0x1002a418
movzx edx, byte [esp + 0x1b]
mov eax, dword [edx*4 + 0x1003d49c]
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [edi*4 + 0x1003d5c0]
push eax
push ecx
lea edx, [esp + 0x120]
push str._s__s__s
push edx
call ebp
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov byte [ecx], 0
mov eax, dword [eax]
mov ecx, dword [esp + 0x28]
add esp, 0x14
inc byte [eax + 0x240]
mov edx, dword [ecx]
lea eax, [esp + 0x114]
push eax
push edx
jmp 0x1002ac56
movzx eax, byte [esp + 0x13]
mov ecx, dword [eax*4 + 0x1003d49c]
lea edx, [esp + 0x70]
push edx
mov edx, dword [edi*4 + 0x1003d580]
push ecx
push edx
lea eax, [esp + 0x120]
push str._s__s__s
push eax
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x114]
push eax
push edx
jmp 0x1002ac56
lea ecx, [esp + 0x70]
and edi, 0xf
push ecx
mov ecx, dword [edi*4 + 0x1003d600]
jmp 0x1002a8e2
movzx esi, byte [esp + 0x1c]
movzx ecx, byte [esp + 0x13]
mov edx, dword [ecx*4 + 0x1003d47c]
push esi
lea eax, [esp + 0x74]
push eax
push edx
and edi, 0xf
mov eax, dword [edi*4 + 0x1003d640]
push eax
lea ecx, [esp + 0x124]
push str._s__s__s__02X
push ecx
call ebp
push esi
lea edx, [esp + 0x8c]
push str.__02X
push edx
call ebp
add esp, 0x24
mov esi, dword [esp + 0x14]
mov ecx, dword [esi]
lea eax, [esp + 0x70]
push eax
add ecx, 0x200
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esi]
inc byte [eax + 0x240]
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
inc dword [eax]
lea eax, [esp + 0x114]
mov ecx, esi
mov edx, dword [ecx]
push eax
push edx
jmp 0x1002ac56
movzx ecx, byte [esp + 0x13]
mov edx, dword [ecx*4 + 0x1003d47c]
lea eax, [esp + 0x70]
push eax
push edx
and edi, 0xf
mov eax, dword [edi*4 + 0x1003d640]
push eax
lea ecx, [esp + 0x120]
push str._s__s__s
push ecx
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x114]
push eax
push edx
jmp 0x1002ac56
lea edx, [esp + 0x70]
push edx
and edi, 0xf
mov eax, dword [edi*4 + 0x1003d660]
push eax
lea ecx, [esp + 0x11c]
push 0x100381ac
push ecx
call ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x10
lea eax, [esp + 0x114]
push eax
push edx
jmp 0x1002ac56
mov bl, byte [esp + 0x13]
movzx eax, bl
mov ecx, dword [eax*4 + 0x1003d6e0]
lea edx, [esp + 0x70]
push edx
push ecx
lea edx, [esp + 0x11c]
push 0x100381ac
push edx
call ebp
add esp, 0x10
cmp bl, 3
jbe case.0x10029f76.4
push str.Invalid_Instruction
jmp 0x1002a196
movzx ecx, byte [esp + 0x13]
lea edx, [esp + 0x70]
push edx
lea eax, [esi + esi*8]
add eax, ecx
mov edx, dword [eax*4 + 0x1003d228]
push edx
and edi, 0xf
mov eax, dword [edi*4 + 0x1003d6a0]
push eax
lea ecx, [esp + 0x120]
push str._s__s__s
push ecx
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x114]
push eax
push edx
jmp 0x1002ac56
movzx ecx, byte [esp + 0x13]
lea edx, [esp + 0x70]
push edx
lea eax, [esi + esi*8]
add eax, ecx
mov edx, dword [eax*4 + 0x1003d228]
push edx
and edi, 0xf
mov eax, dword [edi*4 + 0x1003d700]
push eax
lea ecx, [esp + 0x120]
push str._s__s__s
push ecx
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x114]
push eax
push edx
jmp 0x1002ac56
cmp byte [esp + 0x1c], 8
movzx esi, byte [esp + 0x1c]
jae 0x1002a697
cmp byte [esp + 0x274], 1
movzx eax, byte [esp + 0x13]
mov ecx, dword [eax*4 + 0x1003d49c]
lea edx, [esp + 0x70]
push edx
push ecx
lea eax, [esp + 0x11c]
jne 0x1002a685
mov edx, dword [esi*4 + 0x1003d760]
push edx
push str._s__s__s
push eax
call ebp
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov byte [ecx], 0
mov eax, dword [eax]
add esp, 0x14
inc byte [eax + 0x240]
jmp 0x1002a6fd
mov edx, dword [esi*4 + 0x1003d740]
push edx
push str._s__s__s
jmp 0x1002a6f7
cmp byte [esp + 0x274], 1
push esi
jne 0x1002a6d9
movzx edx, byte [esp + 0x17]
mov eax, dword [edx*4 + 0x1003d49c]
lea ecx, [esp + 0x74]
push ecx
push eax
lea ecx, [esp + 0x120]
push str.cmpss__s__s__02X
push ecx
call ebp
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
mov byte [edx], 0
mov eax, dword [eax]
add esp, 0x14
inc byte [eax + 0x240]
jmp 0x1002a6fd
movzx ecx, byte [esp + 0x17]
mov edx, dword [ecx*4 + 0x1003d49c]
lea eax, [esp + 0x74]
push eax
push edx
push str.cmpps__s__s__02X
lea eax, [esp + 0x124]
push eax
call ebp
add esp, 0x14
push esi
lea ecx, [esp + 0x74]
push str.__02X
push ecx
call ebp
mov esi, dword [esp + 0x20]
mov eax, dword [esi]
add esp, 0xc
lea edx, [esp + 0x70]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esi]
inc byte [eax + 0x240]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
lea eax, [esp + 0x114]
mov ecx, esi
mov edx, dword [ecx]
push eax
push edx
jmp 0x1002ac56
movzx esi, byte [esp + 0x1c]
movzx eax, byte [esp + 0x13]
mov ecx, dword [eax*4 + 0x1003d47c]
push esi
lea edx, [esp + 0x74]
push edx
push ecx
lea edx, [esp + 0x120]
push str.pinsrw__s__s__02X
push edx
call ebp
push esi
lea eax, [esp + 0x88]
push str.__02X
push eax
call ebp
mov esi, dword [esp + 0x34]
mov edx, dword [esi]
add esp, 0x20
lea ecx, [esp + 0x70]
push ecx
add edx, 0x200
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esi]
inc byte [eax + 0x240]
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
inc dword [eax]
lea eax, [esp + 0x114]
mov ecx, esi
mov edx, dword [ecx]
push eax
push edx
jmp 0x1002ac56
movzx edi, byte [esp + 0x1c]
movzx eax, byte [esp + 0x13]
push edi
lea ecx, [esp + 0x74]
push ecx
lea edx, [esi + esi*8]
add edx, eax
mov ecx, dword [edx*4 + 0x1003d228]
push ecx
lea edx, [esp + 0x120]
push str.pextrw__s__s__02X
push edx
call ebp
push edi
jmp 0x1002a76e
movzx esi, byte [esp + 0x1c]
movzx edx, byte [esp + 0x13]
mov eax, dword [edx*4 + 0x1003d49c]
push esi
lea ecx, [esp + 0x74]
push ecx
push eax
lea ecx, [esp + 0x120]
push str.shufps__s__s__02X
push ecx
call ebp
push esi
lea edx, [esp + 0x88]
push str.__02X
push edx
call ebp
add esp, 0x20
jmp 0x1002a4b1
movzx edx, byte [esp + 0x13]
lea eax, [esp + 0x70]
lea ecx, [esi + esi*8]
add ecx, edx
push eax
mov eax, dword [ecx*4 + 0x1003d228]
and edi, 0xf
mov ecx, dword [edi*4 + 0x1003d780]
jmp 0x1002a8ee
movzx ecx, byte [esp + 0x13]
mov edx, dword [ecx*4 + 0x1003d47c]
lea eax, [esp + 0x70]
push eax
push edx
and edi, 0xf
mov eax, dword [edi*4 + 0x1003d780]
push eax
lea ecx, [esp + 0x120]
push str._s__s__s
push ecx
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x114]
push eax
push edx
jmp 0x1002ac56
movzx eax, byte [esp + 0x13]
mov ecx, dword [eax*4 + 0x1003d47c]
lea edx, [esp + 0x70]
push edx
push ecx
and edi, 0xf
mov edx, dword [edi*4 + 0x1003d7c0]
push edx
lea eax, [esp + 0x120]
push str._s__s__s
push eax
call ebp
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
add esp, 0x14
lea eax, [esp + 0x114]
push eax
push edx
jmp 0x1002ac56
lea ecx, [esp + 0x70]
and edi, 0xf
push ecx
mov ecx, dword [edi*4 + 0x1003d800]
movzx edx, byte [esp + 0x17]
mov eax, dword [edx*4 + 0x1003d47c]
push eax
push ecx
lea edx, [esp + 0x120]
push str._s__s__s
push edx
call ebp
add esp, 0x14
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
lea eax, [esp + 0x114]
push eax
push edx
jmp 0x1002ac56
mov cl, byte [esp + 0x25c]
movzx eax, cl
cmp eax, 0xe7
ja case.0x1002a932.2
movzx edx, byte [eax + 0x1002b560]
jmp dword [edx*4 + 0x1002b524]
mov bl, byte [esp + 0x13]
movzx ecx, bl
mov edx, dword [ecx*4 + 0x1003d4bc]
lea eax, [esp + 0x70]
push eax
push edx
lea eax, [esp + 0x11c]
push 0x100381ac
push eax
call ebp
add esp, 0x10
cmp bl, 5
jbe case.0x1002a932.2
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
push str.Invalid_instruction
add edx, 0x100
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp case.0x1002a932.2
mov bl, byte [esp + 0x13]
movzx ecx, bl
mov edx, dword [ecx*4 + 0x1003d4dc]
lea eax, [esp + 0x70]
push eax
push edx
lea eax, [esp + 0x11c]
push 0x100381ac
push eax
call ebp
add esp, 0x10
cmp bl, 5
jne case.0x1002a932.2
jmp 0x1002a968
cmp byte [esp + 0x274], 1
jne 0x1002a9fa
movzx eax, byte [esp + 0x13]
mov ecx, dword [eax*4 + 0x1003d49c]
push ecx
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x11c]
push str.movss__s__s
push eax
call ebp
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov byte [ecx], 0
mov eax, dword [eax]
add esp, 0x10
inc byte [eax + 0x240]
jmp case.0x1002a932.2
movzx edx, byte [esp + 0x13]
mov eax, dword [edx*4 + 0x1003d49c]
push eax
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x11c]
push str.movups__s__s
push edx
call ebp
add esp, 0x10
jmp case.0x1002a932.2
movzx eax, byte [esp + 0x13]
mov ecx, dword [eax*4 + 0x1003d49c]
push ecx
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x11c]
push str.movlps__s__s
push eax
call ebp
add esp, 0x10
jmp case.0x1002a932.2
movzx ecx, byte [esp + 0x13]
mov edx, dword [ecx*4 + 0x1003d49c]
push edx
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x11c]
push str.movhps__s__s
push ecx
call ebp
add esp, 0x10
jmp case.0x1002a932.2
movzx edx, byte [esp + 0x13]
mov eax, dword [edx*4 + 0x1003d49c]
push eax
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x11c]
push str.movaps__s__s
push edx
call ebp
add esp, 0x10
jmp case.0x1002a932.2
movzx ecx, byte [esp + 0x13]
mov edx, dword [ecx*4 + 0x1003d47c]
and eax, 0xf
push edx
mov edx, dword [eax*4 + 0x1003d600]
jmp 0x1002ac2f
movzx edx, byte [esp + 0x13]
lea ecx, [esi + esi*8]
add ecx, edx
mov ecx, dword [ecx*4 + 0x1003d228]
push ecx
lea edx, [esp + 0x74]
push edx
and eax, 0xf
mov eax, dword [eax*4 + 0x1003d6a0]
push eax
push str._s__s__s
lea ecx, [esp + 0x124]
push ecx
jmp 0x1002ac42
movzx ecx, byte [esp + 0x13]
movzx edi, byte [esp + 0x1c]
push edi
lea edx, [esi + esi*8]
add edx, ecx
mov edx, dword [edx*4 + 0x1003d228]
push edx
and eax, 0xf
mov edx, dword [eax*4 + 0x1003d6a0]
lea ecx, [esp + 0x78]
push ecx
push edx
lea eax, [esp + 0x124]
push str._s__s__s__02X
push eax
call ebp
push edi
lea ecx, [esp + 0x8c]
push str.__02X
push ecx
call ebp
mov esi, dword [esp + 0x38]
mov eax, dword [esi]
add esp, 0x24
lea edx, [esp + 0x70]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esi]
inc byte [eax + 0x240]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
inc dword [eax]
jmp case.0x1002a932.2
movzx ecx, byte [esp + 0x13]
lea edx, [esi + esi*8]
add edx, ecx
mov edx, dword [edx*4 + 0x1003d228]
push edx
lea ecx, [esp + 0x74]
and eax, 0xf
mov edx, dword [eax*4 + 0x1003d6a0]
push ecx
push edx
push str._s__s__s_cl
jmp 0x1002ac3a
test cl, 0xf
jne 0x1002ab97
xor esi, esi
movzx edx, byte [esp + 0x13]
lea ecx, [esi + esi*8]
add ecx, edx
mov ecx, dword [ecx*4 + 0x1003d228]
push ecx
lea edx, [esp + 0x74]
push edx
and eax, 0xf
mov eax, dword [eax*4 + 0x1003d700]
push eax
push str._s__s__s
lea ecx, [esp + 0x124]
push ecx
jmp 0x1002ac42
movzx edx, byte [esp + 0x13]
mov eax, dword [edx*4 + 0x1003d228]
push eax
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x11c]
push str.xadd__s__s
push edx
call ebp
add esp, 0x10
jmp case.0x1002a932.2
movzx ecx, byte [esp + 0x13]
lea eax, [esi + esi*8]
add eax, ecx
mov edx, dword [eax*4 + 0x1003d228]
push edx
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x11c]
push str.xadd__s__s
push ecx
call ebp
add esp, 0x10
jmp case.0x1002a932.2
movzx edx, byte [esp + 0x13]
mov eax, dword [edx*4 + 0x1003d47c]
mov edx, dword [str.movntq]
push eax
lea ecx, [esp + 0x74]
push ecx
push edx
push str._s__s__s
lea eax, [esp + 0x124]
push eax
call ebp
add esp, 0x14
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
lea ecx, [esp + 0x114]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x248]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10031c98
add esp, 0x23c
ret