Function at 0x499a00
Capabilities:
Authenticate hmac
Log keystrokes via polling
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5b3581
mov eax, dword fs:[0]
push eax
sub esp, 0x120
mov eax, dword [0x5f8800]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xf0], ecx
mov edi, dword [ebp + 0xc]
movzx eax, di
mov dword [ebp - 0xb0], eax
mov eax, dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x118], eax
call eax
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x100], 0
cmp byte [eax + 0x18965d], 0
jne 0x499cea
cmp byte [eax + 0x18965c], 0
je 0x499cea
mov edx, dword [ebp + 8]
mov ecx, 0x2a0
mov esi, 0x200
test dx, dx
jne 0x499ae2
test di, di
jne 0x499ae2
cmp word [eax + 0x18c172], cx
jle 0x499ae2
cmp word [eax + 0x18c174], si
jle 0x499ae2
push 0
push 0
push 0
push 0
push 0
push 8
mov ecx, eax
push 0
push 0x27b314d0
call fcn.00493690
mov eax, dword [ebp - 0xf0]
mov byte [eax + 0x18965d], 1
mov byte [eax + 0x18d8d8], 0
jmp case.0x49d1bc.6
movsx eax, word [0x5fd38c]
add eax, 0xfffffffe
movsx ecx, dx
mov dword [ebp - 0x104], eax
mov dword [ebp - 0xf4], ecx
cmp ecx, eax
jne 0x499bbc
test di, di
jne 0x499b52
mov eax, dword [ebp - 0xf0]
mov eax, dword [eax + 0x1842ec]
movsx ecx, word [eax + 0x670a3c]
mov eax, dword [ebp - 0xf0]
sub ecx, 0x15
shl ecx, 5
movsx eax, word [eax + 0x18c172]
cmp eax, ecx
jge 0x499b52
mov eax, dword [ebp - 0xf0]
cmp word [eax + 0x18c174], si
jle 0x499b52
push 0
push 0
push 0
push 0
push 0
push 2
jmp 0x499abb
mov ax, word [0x5fd390]
cwde
movsx ecx, di
sub eax, 2
cmp ecx, eax
jne 0x499bbc
mov eax, dword [ebp - 0xf0]
mov esi, dword [eax + 0x1842ec]
movsx eax, word [eax + 0x18c172]
movsx ecx, word [esi + 0x670a3c]
sub ecx, 0x15
shl ecx, 5
cmp eax, ecx
jge 0x499bbc
mov eax, dword [ebp - 0xf0]
movsx ecx, word [esi + 0x670a3e]
sub ecx, 0x10
shl ecx, 5
movsx eax, word [eax + 0x18c174]
cmp eax, ecx
jge 0x499bbc
mov ecx, dword [ebp - 0xf0]
push 0
push 0
push 0
push 0
push 0
push 4
jmp 0x499abd
mov eax, dword [ebp - 0xb0]
test dx, dx
mov dx, word [0x5fd390]
movsx esi, ax
jne 0x499c19
movsx eax, dx
sub eax, 2
cmp esi, eax
jne 0x499bf2
mov ecx, dword [ebp - 0xf0]
push 0
push 0
push 0
push 0
push 0
push 6
jmp 0x499abd
mov eax, dword [ebp - 0xf0]
mov edi, 0x2a0
mov ecx, esi
cmp word [eax + 0x18c172], di
jle 0x499c21
push 0
push 0
push 0
push 0
push 0
push 7
jmp 0x499abb
mov eax, dword [ebp - 0xf0]
mov ecx, esi
mov edi, dword [ebp - 0xf4]
cmp edi, dword [ebp - 0x104]
mov edi, dword [ebp + 0xc]
jne 0x499c6f
mov eax, dword [eax + 0x1842ec]
movsx ecx, word [eax + 0x670a3c]
mov eax, dword [ebp - 0xf0]
sub ecx, 0x15
shl ecx, 5
movsx eax, word [eax + 0x18c172]
cmp eax, ecx
jge 0x499c6d
mov ecx, dword [ebp - 0xf0]
push 0
push 0
push 0
push 0
push 0
push 3
jmp 0x499abd
mov ecx, esi
test di, di
jne 0x499c99
mov eax, dword [ebp - 0xf0]
mov esi, 0x200
cmp word [eax + 0x18c174], si
jle 0x499c99
push 0
push 0
push 0
push 0
push 0
push 1
jmp 0x499abb
movsx eax, dx
sub eax, 2
cmp ecx, eax
mov eax, dword [ebp - 0xf0]
jne 0x499cea
mov eax, dword [eax + 0x1842ec]
movsx ecx, word [eax + 0x670a3e]
mov eax, dword [ebp - 0xf0]
sub ecx, 0x10
shl ecx, 5
movsx eax, word [eax + 0x18c174]
cmp eax, ecx
jge 0x499ce4
mov ecx, dword [ebp - 0xf0]
push 0
push 0
push 0
push 0
push 0
push 5
jmp 0x499abd
mov eax, dword [ebp - 0xf0]
cmp dword [eax + 0x18d9e4], 0
jle 0x499da0
lea eax, [ebp - 0xbc]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [ebp - 0xb6]
imul ecx, eax, 0x64
movzx eax, word [ebp - 0xb4]
add ecx, eax
movzx eax, word [ebp - 0xb2]
imul ecx, ecx, 0x64
add ecx, eax
imul eax, ecx, 0x64
movzx ecx, word [ebp - 0xb0]
add eax, ecx
cdq
mov dword [ebp - 0x104], eax
mov edi, edx
mov eax, dword [ebp - 0xf0]
movzx ecx, word [eax + 0x18d9da]
imul esi, ecx, 0x64
movzx ecx, word [eax + 0x18d9dc]
add esi, ecx
movzx ecx, word [eax + 0x18d9de]
imul esi, esi, 0x64
add esi, ecx
imul eax, esi, 0x64
mov esi, dword [ebp - 0xf0]
movzx ecx, word [esi + 0x18d9e0]
add eax, ecx
mov ecx, dword [ebp - 0x104]
cdq
sub ecx, eax
sbb edi, edx
mov dword [ebp - 0x104], edi
js 0x499d9d
jg 0x499d89
cmp ecx, 1
jbe 0x499d9d
mov eax, esi
dec dword [eax + 0x18d9e4]
add eax, 0x18d9d4
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov edi, dword [ebp + 0xc]
push 0x12
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
mov eax, dword [ebp - 0xf0]
jns 0x499dd2
mov eax, dword [eax + 0x13f198]
cmp byte [eax + 0x12], 0
mov eax, dword [ebp - 0xf0]
jne 0x499dce
cmp dword [eax + 0x13f194], 0
jle 0x499dd2
mov cl, 1
jmp 0x499dd4
xor cl, cl
mov byte [eax + 0x18965b], cl
movsx ecx, byte [eax + 0x13ffc6]
cmp ecx, 3
ja case.default.0x499de6
jmp dword [ecx*4 + 0x49dd70]
cmp byte [ebp + 0x18], 0
je 0x499ef5
mov edx, dword [ebp + 8]
mov ecx, eax
push 1
push edi
push edx
call fcn.00487050
cmp eax, 1
jne 0x499e1c
mov esi, dword [ebp - 0xf0]
mov byte [esi + 0x13ffc6], 2
jmp case.0x49d1bc.6
test eax, eax
jne 0x499ee1
mov esi, dword [ebp - 0xf0]
mov byte [esi + 0x13ffc6], 1
mov eax, esi
cmp byte [eax + 0x18965c], 0
jne case.0x49d1bc.6
cmp byte [eax + 0x189590], 0
je case.0x49d1bc.6
mov ecx, dword [ebp - 0xf8]
sub ecx, dword [eax + 0x1892f4]
cmp ecx, 0x12c
jae 0x49aa9b
mov ecx, eax
call fcn.00415890
mov eax, dword [ebp - 0xf0]
mov ecx, eax
push 0
push 5
push 0xe
push 0x45
mov byte [eax + 0x1895fa], 0
call fcn.0045cfc0
mov eax, dword [ebp - 0xf0]
cmp byte [eax + 0x189591], 0
je 0x499ed3
mov ecx, dword [eax + 0x14a654]
push 0
call fcn.00587a30
mov eax, dword [ebp - 0xf0]
cmp byte [eax + 0x189591], 0
je 0x499ed3
cmp byte [eax + 0x189593], 1
jne 0x499ed3
mov ecx, dword [eax + 0x14a8dc]
test ecx, ecx
je 0x499ed3
push 0
call fcn.00587a30
mov eax, dword [ebp - 0xf0]
push 0
mov ecx, eax
call fcn.00412c00
jmp case.0x49d1bc.6
cmp eax, 0xffffffff
je case.0x49d1bc.6
mov eax, dword [ebp - 0xf0]
jmp case.default.0x499de6
cmp byte [ebp + 0x1c], 0
je case.default.0x499de6
mov edx, dword [ebp + 8]
mov ecx, eax
push 2
push edi
push edx
call fcn.00487050
cmp eax, 1
je case.0x49d1bc.6
mov eax, dword [ebp - 0xf0]
jmp case.default.0x499de6
cmp byte [ebp + 0x18], 0
jne case.default.0x499de6
mov byte [eax + 0x13ffc6], 0
jmp case.default.0x499de6
cmp byte [ebp + 0x18], 0
jne 0x499fe9
mov ecx, dword [eax + 0x13ffd4]
mov eax, dword [ebp - 0xf8]
mov esi, dword [ebp + 8]
sub eax, ecx
cmp eax, 0x12c
mov eax, dword [ebp - 0xf0]
jae 0x499f88
cmp si, word [eax + 0x13ffd8]
jne 0x499f88
cmp di, word [eax + 0x13ffda]
jne 0x499f88
push edi
mov dword [eax + 0x13ffd4], ecx
mov ecx, eax
push esi
call fcn.00484b10
mov eax, dword [ebp - 0xf0]
jmp 0x499fa5
push edi
push esi
mov ecx, eax
call fcn.004844b0
mov eax, dword [ebp - 0xf0]
mov word [eax + 0x13ffd8], si
mov word [eax + 0x13ffda], di
cmp byte [eax + 0x13ffc7], 2
mov ecx, dword [ebp - 0xf8]
mov dword [eax + 0x13ffd4], ecx
mov byte [eax + 0x13ffc6], 0
jne case.0x49d1bc.6
push edi
push esi
mov ecx, eax
call fcn.00484c10
mov eax, dword [ebp - 0xf0]
xor ecx, ecx
mov byte [eax + 0x13ffc7], 0
mov word [eax + 0x13ffc8], cx
jmp case.0x49d1bc.6
cmp byte [eax + 0x18965c], 0
jne 0x49a026
mov esi, dword [ebp - 0xf0]
movzx eax, word [eax + 0x18c132]
push eax
movzx eax, word [esi + 0x18c130]
mov ecx, dword [esi + 0x1842ec]
push eax
call fcn.0056a970
test al, al
je 0x49a024
cmp byte [esi + 0x18dacc], 0
je 0x499e31
mov eax, esi
mov ecx, dword [ebp + 8]
cmp word [eax + 0x13ffca], cx
jne 0x49a065
cmp word [eax + 0x13ffcc], di
jne 0x49a065
cmp byte [eax + 0x18965c], 0
jne case.0x49d1bc.6
mov cl, byte [eax + 0x18d8d2]
cmp cl, 1
je 0x49cd78
cmp cl, 2
jne case.0x49d1bc.6
jmp 0x49cd78
cmp byte [eax + 0x13ffc7], 1
mov byte [eax + 0x13ffc6], 3
mov word [eax + 0x13ffca], cx
mov word [eax + 0x13ffcc], di
jne case.0x49d1bc.6
movsx ecx, word [eax + 0x13ffc8]
lea eax, [ecx - 7]
cmp eax, 0x38
ja case.0x49d1bc.6
movzx eax, byte [eax + 0x49dd98]
jmp dword [eax*4 + 0x49dd80]
mov esi, dword [ebp - 0xf0]
mov byte [esi + 0x13ffc6], 0
jmp case.0x49d1bc.6
mov esi, dword [ebp - 0xf0]
imul eax, ecx, 0x164
cmp word [eax + esi + 0x1401b8], 1
jne case.0x49d1bc.6
mov ecx, esi
call fcn.00447e40
movsx eax, word [esi + 0x13ffc8]
mov ecx, 0x14
imul eax, eax, 0x164
mov word [eax + esi + 0x1401b8], cx
jmp case.0x49d1bc.6
mov esi, dword [ebp - 0xf0]
movsx eax, word [esi + 0x144cd0]
add eax, 0xfffffffb
cmp eax, 0xf
ja case.0x49d1bc.6
movzx eax, byte [eax + 0x49dddc]
jmp dword [eax*4 + 0x49ddd4]
mov ecx, esi
call fcn.00447e40
mov eax, esi
inc word [eax + 0x144cd0]
jmp case.0x49d1bc.6
mov eax, dword [ebp - 0xf0]
cmp word [eax + 0x1413cc], 9
jne case.0x49d1bc.6
mov ecx, eax
call fcn.00447e40
mov esi, dword [ebp - 0xf0]
mov eax, 0xa
mov word [esi + 0x1413cc], ax
jmp case.0x49d1bc.6
mov esi, dword [ebp - 0xf0]
movsx eax, word [esi + 0x14568c]
add eax, 0xfffffff9
cmp eax, 0x87
ja case.0x49d1bc.6
movzx eax, byte [eax + 0x49ddf4]
jmp dword [eax*4 + 0x49ddec]
mov ecx, esi
call fcn.00447e40
inc word [esi + 0x14568c]
jmp case.0x49d1bc.6
cmp byte [ebp + 0x18], 0
je 0x49a253
cmp byte [eax + 0x18965c], 0
jne 0x49a1ec
mov esi, dword [ebp - 0xf0]
movzx eax, word [eax + 0x18c132]
push eax
movzx eax, word [esi + 0x18c130]
mov ecx, dword [esi + 0x1842ec]
push eax
call fcn.0056a970
test al, al
mov eax, esi
je 0x49a1ec
cmp byte [esi + 0x18dacc], 0
je case.default.0x499de6
cmp byte [eax + 0x13ffc7], 1
mov edx, dword [ebp + 8]
jne 0x49a240
mov esi, dword [ebp - 0xf0]
mov cx, dx
sub cx, word [eax + 0x13ffce]
movsx eax, word [eax + 0x13ffc8]
imul eax, eax, 0x164
mov word [eax + esi + 0x1400ae], cx
mov eax, esi
mov cx, di
sub cx, word [eax + 0x13ffd0]
movsx eax, word [eax + 0x13ffc8]
imul eax, eax, 0x164
mov word [eax + esi + 0x1400b0], cx
mov eax, esi
mov word [eax + 0x13ffca], dx
mov word [eax + 0x13ffcc], di
jmp 0x49a03b
movsx ecx, byte [eax + 0x13ffc7]
sub ecx, 1
je 0x49a285
sub ecx, 1
jne 0x49a276
mov edx, dword [ebp + 8]
mov ecx, eax
push edi
push edx
call fcn.00484c10
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0x13ffc6], 0
jmp case.0x49d1bc.6
cmp word [eax + 0x13ffc8], 7
mov edi, 1
jne 0x49a2d6
cmp word [eax + 0x140b74], 0x14
jne 0x49a2d6
mov esi, dword [ebp - 0xf0]
add eax, 0x18d885
push 0
push eax
push 0x15
movsx eax, word [esi + 0x140a6c]
mov ecx, esi
add eax, 0x8c
push eax
movsx eax, word [esi + 0x140a6a]
add eax, 0x4b
push eax
call fcn.00462cb0
mov eax, esi
mov word [eax + 0x140b74], di
cmp word [eax + 0x13ffc8], 0x11
jne 0x49a320
cmp word [eax + 0x14195c], 0x14
jne 0x49a320
mov esi, dword [ebp - 0xf0]
add eax, 0x18d63e
push 0
push eax
push 0xb
movsx eax, word [esi + 0x141854]
mov ecx, esi
add eax, 0x39
push eax
movsx eax, word [esi + 0x141852]
add eax, 0x28
push eax
call fcn.00462cb0
mov eax, esi
mov word [eax + 0x14195c], di
cmp word [eax + 0x13ffc8], 0x31
jne 0x49a36a
cmp word [eax + 0x1445dc], 0x14
jne 0x49a36a
mov esi, dword [ebp - 0xf0]
add eax, 0x18d63e
push 0
push eax
push 0xb
movsx eax, word [esi + 0x1444d4]
mov ecx, esi
add eax, 0x39
push eax
movsx eax, word [esi + 0x1444d2]
add eax, 0x28
push eax
call fcn.00462cb0
mov eax, esi
mov word [eax + 0x1445dc], di
cmp word [eax + 0x13ffc8], 0x36
jne 0x49a52d
movzx ecx, word [eax + 0x144cd0]
cmp cx, 6
je 0x49a3b3
cmp cx, 8
je 0x49a3b3
cmp cx, 0xb
je 0x49a3b3
cmp cx, 0xd
je 0x49a3b3
cmp cx, 0xf
je 0x49a3b3
cmp cx, 0x11
je 0x49a3b3
cmp cx, 0x13
je 0x49a3b3
cmp cx, 0x15
jne 0x49a52d
movzx edx, word [eax + 0x144bc6]
movzx edi, word [eax + 0x144bc8]
movsx eax, cx
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x49a3d7.7
movzx eax, byte [eax + 0x49dea0]
jmp dword [eax*4 + 0x49de7c]
mov esi, dword [ebp - 0xf0]
push 0
lea eax, [esi + 0x18d63e]
push eax
push 4
movsx eax, di
mov ecx, esi
add eax, 0x50
push eax
movsx eax, dx
add eax, 0x64
push eax
call fcn.00462cb0
jmp 0x49a520
mov esi, dword [ebp - 0xf0]
mov ecx, esi
push 0
lea eax, [esi + 0x18d63e]
push eax
push 4
movsx eax, di
add eax, 0x5f
push eax
movsx eax, dx
add eax, 0x64
push eax
call fcn.00462cb0
jmp 0x49a520
mov esi, dword [ebp - 0xf0]
mov ecx, esi
push 0
lea eax, [esi + 0x18d63e]
push eax
push 5
movsx eax, di
add eax, 0x41
push eax
movsx eax, dx
add eax, 0x64
push eax
call fcn.00462cb0
jmp 0x49a520
mov esi, dword [ebp - 0xf0]
push 0
lea eax, [esi + 0x18d63e]
push eax
push 3
jmp 0x49a3ef
mov esi, dword [ebp - 0xf0]
mov ecx, esi
push 0
lea eax, [esi + 0x18d63e]
push eax
push 3
movsx eax, di
add eax, 0x5f
push eax
movsx eax, dx
add eax, 0x64
push eax
call fcn.00462cb0
jmp 0x49a520
mov esi, dword [ebp - 0xf0]
mov ecx, esi
push 0
lea eax, [esi + 0x18d63e]
push eax
push 3
movsx eax, di
add eax, 0x6e
push eax
movsx eax, dx
add eax, 0x64
push eax
call fcn.00462cb0
jmp 0x49a520
mov esi, dword [ebp - 0xf0]
mov ecx, esi
push 0
lea eax, [esi + 0x18d63e]
push eax
push 3
movsx eax, di
add eax, 0x7d
push eax
movsx eax, dx
add eax, 0x64
push eax
call fcn.00462cb0
jmp 0x49a520
mov esi, dword [ebp - 0xf0]
mov ecx, esi
push 0
lea eax, [esi + 0x18d63e]
push eax
push 3
movsx eax, di
add eax, 0x8c
push eax
movsx eax, dx
add eax, 0x64
push eax
call fcn.00462cb0
jmp 0x49a520
mov esi, dword [ebp - 0xf0]
dec word [esi + 0x144cd0]
mov eax, dword [ebp - 0xf0]
cmp word [eax + 0x13ffc8], 0xd
jne 0x49a57e
cmp word [eax + 0x1413cc], 0xa
jne 0x49a57e
mov esi, dword [ebp - 0xf0]
add eax, 0x18bfc4
push 0
push eax
push 0xb
movsx eax, word [esi + 0x1412c4]
mov ecx, esi
add eax, 0x8c
push eax
movsx eax, word [esi + 0x1412c2]
add eax, 0x3c
push eax
call fcn.00462cb0
mov eax, esi
mov ecx, 9
mov word [eax + 0x1413cc], cx
cmp word [eax + 0x13ffc8], 0x3d
jne 0x49a842
movzx ecx, word [eax + 0x14568c]
cmp cx, 8
je 0x49a653
cmp cx, 0x65
je 0x49a653
cmp cx, 0x68
je 0x49a653
cmp cx, 0x6a
je 0x49a653
cmp cx, 0x6d
je 0x49a653
cmp cx, 0x6f
je 0x49a653
cmp cx, 0x71
je 0x49a653
cmp cx, 0x73
je 0x49a653
cmp cx, 0x75
je 0x49a653
cmp cx, 0x77
je 0x49a653
cmp cx, 0x79
je 0x49a653
cmp cx, 0x7b
je 0x49a653
cmp cx, 0x7d
je 0x49a653
cmp cx, 0x7f
je 0x49a653
mov edx, 0x81
cmp cx, dx
je 0x49a653
mov edx, 0x83
cmp cx, dx
je 0x49a653
mov edx, 0x85
cmp cx, dx
je 0x49a653
mov edx, 0x87
cmp cx, dx
je 0x49a653
mov edx, 0x89
cmp cx, dx
je 0x49a653
mov edx, 0x8b
cmp cx, dx
je 0x49a653
mov edx, 0x8d
cmp cx, dx
je 0x49a653
mov edx, 0x8f
cmp cx, dx
jne 0x49a842
movzx ecx, word [eax + 0x145582]
movzx edx, word [eax + 0x145584]
movsx eax, word [eax + 0x14568c]
add eax, 0xfffffff8
cmp eax, 0x87
ja case.0x49a67d.9
movzx eax, byte [eax + 0x49dedc]
jmp dword [eax*4 + 0x49deb0]
mov esi, dword [ebp - 0xf0]
push 0
lea eax, [esi + 0x13c62d]
push eax
movsx eax, dx
add eax, 0x8c
push 0x15
push eax
movsx eax, cx
mov ecx, esi
add eax, 0x3c
push eax
call fcn.00462cb0
jmp 0x49a835
mov esi, dword [ebp - 0xf0]
push 0
lea eax, [esi + 0x13c604]
push eax
movsx eax, dx
add eax, 0x41
push 0x29
push eax
movsx eax, cx
mov ecx, esi
add eax, 0x5f
push eax
call fcn.00462cb0
jmp 0x49a835
mov esi, dword [ebp - 0xf0]
push 0
lea eax, [esi + 0x18d63e]
push eax
movsx eax, dx
add eax, 0x50
push 4
push eax
movsx eax, cx
mov ecx, esi
add eax, 0x50
push eax
call fcn.00462cb0
jmp 0x49a835
mov esi, dword [ebp - 0xf0]
push 0
lea eax, [esi + 0x18d63e]
push eax
movsx eax, dx
add eax, 0x5f
push 4
push eax
movsx eax, cx
mov ecx, esi
add eax, 0x50
push eax
call fcn.00462cb0
jmp 0x49a835
mov esi, dword [ebp - 0xf0]
push 0
lea eax, [esi + 0x18d63e]
push eax
movsx eax, dx
add eax, 0x50
push 5
push eax
movsx eax, cx
mov ecx, esi
add eax, 0x46
push eax
call fcn.00462cb0
jmp 0x49a835
mov esi, dword [ebp - 0xf0]
push 0
lea eax, [esi + 0x18d63e]
push eax
movsx eax, dx
add eax, 0x5f
push 3
push eax
movsx eax, cx
mov ecx, esi
add eax, 0x46
push eax
call fcn.00462cb0
jmp 0x49a835
mov esi, dword [ebp - 0xf0]
push 0
lea eax, [esi + 0x18d63e]
push eax
movsx eax, dx
add eax, 0x6e
push 3
push eax
movsx eax, cx
mov ecx, esi
add eax, 0x46
push eax
call fcn.00462cb0
jmp 0x49a835
mov esi, dword [ebp - 0xf0]
push 0
lea eax, [esi + 0x18d63e]
push eax
movsx eax, dx
add eax, 0x7d
push 3
push eax
movsx eax, cx
mov ecx, esi
add eax, 0x46
push eax
call fcn.00462cb0
jmp 0x49a835
mov esi, dword [ebp - 0xf0]
push 0
lea eax, [esi + 0x18d63e]
push eax
movsx eax, dx
add eax, 0x8c
push 3
push eax
movsx eax, cx
mov ecx, esi
add eax, 0x46
push eax
call fcn.00462cb0
jmp 0x49a835
mov esi, dword [ebp - 0xf0]
push 0
lea eax, [esi + 0x18d63e]
push eax
movsx eax, dx
add eax, 0x9b
push 3
push eax
movsx eax, cx
mov ecx, esi
add eax, 0x46
push eax
call fcn.00462cb0
jmp 0x49a835
mov esi, dword [ebp - 0xf0]
dec word [esi + 0x14568c]
mov eax, dword [ebp - 0xf0]
movzx ecx, word [eax + 0x13ffc8]
cmp cx, 9
jne 0x49a954
movzx eax, word [eax + 0x140d32]
mov esi, eax
cmp ax, 0x14
mov eax, dword [ebp - 0xf0]
jge 0x49a873
xor ecx, ecx
xor esi, esi
mov word [eax + 0x140d32], cx
movzx eax, word [eax + 0x140d34]
mov ecx, eax
cmp ax, 0x14
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x120], ecx
jge 0x49a89d
xor ecx, ecx
mov word [eax + 0x140d34], cx
mov dword [ebp - 0x120], ecx
movzx edi, word [eax + 0x140d36]
mov dx, word [0x5fd394]
movsx eax, di
movsx ecx, dx
sub ecx, eax
movsx eax, si
sub ecx, 0x14
cmp eax, ecx
mov eax, dword [ebp - 0xf0]
jle 0x49a8cd
sub dx, di
mov word [eax + 0x140d32], dx
mov cl, byte [eax + 0x18bfbe]
mov edx, 7
movzx esi, word [eax + 0x142a6c]
movzx edi, word [eax + 0x140d38]
xor eax, eax
mov byte [ebp - 0x109], cl
mov ecx, edx
cmp byte [ebp - 0x109], al
cmovne ecx, eax
movsx eax, di
sub ecx, eax
movsx eax, si
sub ecx, eax
mov ax, word [0x5fd398]
cwde
add eax, 0xffffffec
add ecx, eax
mov eax, dword [ebp - 0x120]
cwde
cmp eax, ecx
jle case.0x49a986.9
xor eax, eax
cmp byte [ebp - 0x109], al
cmovne edx, eax
sub dx, di
sub dx, si
mov esi, dword [ebp - 0xf0]
add dx, word [0x5fd398]
mov eax, esi
mov word [esi + 0x140d34], dx
mov dword [eax + 0x13ffc6], 0
jmp case.0x49d1bc.6
cmp cx, 0x3d
jne 0x49a276
movzx ecx, word [eax + 0x145582]
movzx edx, word [eax + 0x145584]
movsx eax, word [eax + 0x14568c]
add eax, 0xfffffff8
cmp eax, 0x62
ja case.0x49a986.9
movzx eax, byte [eax + 0x49df78]
jmp dword [eax*4 + 0x49df64]
mov esi, dword [ebp - 0xf0]
push 0
lea eax, [esi + 0x13c62d]
push eax
movsx eax, dx
add eax, 0x8c
push 0x15
push eax
movsx eax, cx
mov ecx, esi
add eax, 0x3c
push eax
call fcn.00462cb0
mov eax, 7
mov word [esi + 0x14568c], ax
mov eax, esi
mov dword [eax + 0x13ffc6], 0
jmp case.0x49d1bc.6
mov esi, dword [ebp - 0xf0]
push 0
lea eax, [esi + 0x13c604]
push eax
movsx eax, dx
add eax, 0x41
push 0x29
push eax
movsx eax, cx
mov ecx, esi
add eax, 0x5f
push eax
call fcn.00462cb0
mov eax, 0x64
mov word [esi + 0x14568c], ax
mov eax, esi
mov dword [eax + 0x13ffc6], 0
jmp case.0x49d1bc.6
mov esi, dword [ebp - 0xf0]
push 0
lea eax, [esi + 0x18d63e]
push eax
movsx eax, dx
add eax, 0x50
push 4
push eax
movsx eax, cx
mov ecx, esi
add eax, 0x50
push eax
call fcn.00462cb0
mov eax, 0x67
mov word [esi + 0x14568c], ax
mov eax, esi
mov dword [eax + 0x13ffc6], 0
jmp case.0x49d1bc.6
mov esi, dword [ebp - 0xf0]
push 0
lea eax, [esi + 0x18d63e]
push eax
movsx eax, dx
add eax, 0x5f
push 4
push eax
movsx eax, cx
mov ecx, esi
add eax, 0x50
push eax
call fcn.00462cb0
mov eax, esi
mov ecx, 0x69
mov word [eax + 0x14568c], cx
mov dword [eax + 0x13ffc6], 0
jmp case.0x49d1bc.6
cmp dword [eax + 0x18bfe4], 0
jle case.0x49d1bc.6
cmp word [eax + 0x18c158], 0
je 0x49aabe
mov byte [eax + 0x18d8d2], 7
jmp 0x49cd78
mov esi, dword [ebp - 0xf0]
movzx eax, word [eax + 0x18c132]
push eax
movzx eax, word [esi + 0x18c130]
mov ecx, dword [esi + 0x1842ec]
push eax
call fcn.0056a970
test al, al
mov eax, esi
je 0x49aaf7
cmp byte [eax + 0x18dacc], 0
jne 0x49aaf7
mov ecx, eax
call fcn.005579f0
mov eax, esi
cmp byte [ebp + 0x18], 0
je 0x49c5dc
cmp byte [eax + 0x1895f8], 0
movzx edx, word [eax + 0x18c148]
je 0x49ab60
test dx, dx
jne 0x49ab29
cmp word [eax + 0x18c14a], dx
jne 0x49ab29
movzx ecx, word [ebp + 0x10]
movzx eax, word [ebp + 0x14]
jmp 0x49ab32
movzx eax, word [eax + 0x18c14a]
mov ecx, edx
push 0xffffffffffffffff
cwde
push eax
movsx eax, cx
mov ecx, esi
push eax
call fcn.00556fe0
mov byte [esi + 0x189590], 0
call dword [ebp - 0x118]
mov dword [esi + 0x1892f4], eax
mov byte [esi + 0x1895f8], 0
jmp case.0x49d1bc.6
mov ecx, dword [esi + 0x1842ec]
add eax, 0x18c17e
push 0
push eax
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0xfc]
push eax
lea eax, [ebp - 0x1c]
push eax
mov ax, word [esi + 0x18c14a]
dec ax
movzx eax, ax
push eax
call fcn.0056a740
mov eax, esi
push 0xa
lea ecx, [eax + 0x18d77a]
add eax, 0x18d89a
push ecx
push eax
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0xf8], eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x49ac4c
cmp word [ebp - 0xfc], 6
jle 0x49ac0c
mov edx, dword [esi + 0x1842ec]
movsx ecx, word [esi + 0x18c130]
movsx eax, word [edx + 0x670a44]
sub ecx, eax
movsx eax, word [edx + 0x670a46]
imul ecx, ecx, 0x23
sub ecx, eax
movsx eax, word [esi + 0x18c132]
add ecx, eax
lea eax, [ecx + ecx*4]
shl eax, 5
cmp word [eax + edx + 0xb68], 0
je 0x49ac4c
mov ax, word [esi + 0x18c136]
dec ax
cmp ax, 5
mov eax, dword [ebp - 0xf0]
ja 0x49cd78
mov esi, dword [ebp - 0xf0]
mov byte [eax + 0x18d8d2], 5
movzx eax, word [eax + 0x18c130]
mov word [esi + 0x18c14c], ax
movzx eax, word [esi + 0x18c132]
jmp 0x49cd6f
push 0xa
push dword [ebp - 0x104]
push dword [ebp - 0xf8]
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
add esp, 0xc
test eax, eax
mov eax, dword [ebp - 0xf0]
jne 0x49ac73
dec word [eax + 0x18c14a]
movzx edx, word [eax + 0x18c148]
test dx, dx
je 0x49c580
movzx ecx, word [eax + 0x18c14a]
test cx, cx
je 0x49c580
add eax, 0x18c17e
lea esi, [ebp - 0x124]
push esi
mov esi, dword [ebp - 0xf0]
push eax
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0xfc]
push eax
lea eax, [ebp - 0x1c]
push eax
push ecx
mov ecx, dword [esi + 0x1842ec]
call fcn.0056a740
mov eax, esi
cmp byte [eax + 0x1895fb], 0
jne 0x49ade6
cmp byte [eax + 0x18bf73], 0
je 0x49acfe
mov cx, word [ebp - 0x124]
cmp cx, 4
je 0x49ade6
cmp cx, 5
je 0x49ade6
mov cx, word [ebp - 0xfc]
cmp cx, 0x42
je 0x49ad26
cmp cx, 0x49
je 0x49ad26
cmp cx, 0x51
je 0x49ad26
cmp cx, 0x5b
je 0x49ad26
lea eax, [ecx - 0x5c]
cmp ax, 4
ja 0x49ad30
mov dword [ebp - 0x110], 1
mov esi, dword [ebp - 0xf0]
mov edx, 0xff0
mov dword [ebp - 0x104], 0xf0
mov ax, word [esi + 0x18c13a]
and ax, dx
mov edx, dword [ebp - 0x110]
add edx, 2
cmp ax, word [ebp - 0x104]
cmovne edx, dword [ebp - 0x110]
mov dword [ebp - 0x104], edx
cmp cx, 0xa
jge 0x49ae54
cmp cx, 1
jl 0x49ad86
cmp cx, 6
jle 0x49ae54
mov eax, esi
cmp byte [eax + 0x1895fd], 0
jne 0x49ad9a
cmp byte [eax + 0x1895fc], 0
je 0x49adb4
cmp dword [eax + 0x18bfec], 0
jle 0x49adb4
mov ax, word [eax + 0x18c136]
mov cl, 2
dec ax
cmp ax, 5
jbe 0x49adb6
mov cl, 1
mov eax, esi
mov byte [eax + 0x18d8d2], cl
movzx eax, word [eax + 0x18c148]
mov word [esi + 0x18c14c], ax
mov ecx, esi
movzx eax, word [esi + 0x18c14a]
mov word [esi + 0x18c14e], ax
call fcn.0044b170
jmp case.0x49caf1.7
test byte [ebp - 0x114], 0x10
je 0x49ae2e
cmp dword [eax + 0x13f194], 0
jne 0x49ae2e
movzx eax, word [eax + 0x18c100]
cmp ax, 0xffff
je case.0x49d1bc.6
cwde
push 0x12
push str.NecklaceOfBeholder
mov eax, dword [esi + eax*4 + 0x18558c]
add eax, 4
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
add esp, 0xc
test eax, eax
jne case.0x49d1bc.6
jmp 0x49ae30
mov esi, eax
mov cx, word [ebp - 0xfc]
movsx eax, cx
add eax, 0xfffffff1
cmp eax, 0x72
ja case.0x49ae4d.16
movzx eax, byte [eax + 0x49dfe4]
jmp dword [eax*4 + 0x49dfdc]
movsx edx, cx
lea eax, [edx - 0xf]
cmp eax, 0x72
ja case.0x49ae6a.16
movzx eax, byte [eax + 0x49e098]
jmp dword [eax*4 + 0x49e058]
push 0
push 1
push 0xb
push 5
push 0x14
mov ecx, esi
call fcn.00446a80
mov edx, dword [ebp + 8]
lea esi, [edi - 0x32]
add edx, 0xffffff8b
movzx eax, si
xor ecx, ecx
mov dword [ebp - 0x104], eax
test dx, dx
movzx eax, dx
mov dx, word [0x5fd38c]
cmovns ecx, eax
movzx eax, cx
movsx ecx, ax
mov edi, eax
add ecx, 0xeb
movsx eax, dx
cmp ecx, eax
jle 0x49aec6
mov eax, 0xeb
sub dx, ax
movzx edi, dx
mov eax, dword [ebp - 0x104]
xor ecx, ecx
mov dx, word [0x5fd390]
test si, si
movzx eax, ax
cmovns ecx, eax
movzx eax, cx
movsx ecx, ax
mov esi, eax
add ecx, 0x64
movsx eax, dx
cmp ecx, eax
jle 0x49aef7
sub dx, 0x64
movzx esi, dx
mov eax, dword [ebp - 0xf0]
mov word [eax + 0x141c80], si
mov esi, dword [ebp - 0xf0]
mov word [eax + 0x141c7e], di
movsx eax, word [ebp - 0xfc]
mov dword [esi + 0x141c30], eax
jmp case.0x49caf1.7
push 0
push 0
push 0x10
push 7
push 0x14
mov ecx, esi
call fcn.00446a80
mov edx, dword [ebp + 8]
lea esi, [edi - 0x32]
add edx, 0xffffff8b
movzx eax, si
xor ecx, ecx
mov dword [ebp - 0x104], eax
test dx, dx
movzx eax, dx
mov dx, word [0x5fd38c]
cmovns ecx, eax
movzx eax, cx
movsx ecx, ax
mov edi, eax
add ecx, 0xeb
movsx eax, dx
cmp ecx, eax
jle 0x49af78
mov eax, 0xeb
sub dx, ax
movzx edi, dx
mov eax, dword [ebp - 0x104]
xor ecx, ecx
mov dx, word [0x5fd390]
test si, si
movzx eax, ax
cmovns ecx, eax
movzx eax, cx
movsx ecx, ax
mov esi, eax
add ecx, 0x64
movsx eax, dx
cmp ecx, eax
jle 0x49afa9
sub dx, 0x64
movzx esi, dx
mov eax, dword [ebp - 0xf0]
mov word [eax + 0x141c80], si
mov esi, dword [ebp - 0xf0]
mov word [eax + 0x141c7e], di
movsx eax, word [ebp - 0xfc]
mov dword [esi + 0x141c30], eax
mov eax, esi
mov dword [eax + 0x141c40], 0x10
mov dword [eax + 0x141c44], 1
jmp 0x49cd78
push 0
push 0
push 0xe
push 0
push 0x14
mov ecx, esi
call fcn.00446a80
mov edx, dword [ebp + 8]
lea esi, [edi - 0x32]
add edx, 0xffffff8b
movzx eax, si
xor ecx, ecx
mov dword [ebp - 0x104], eax
test dx, dx
movzx eax, dx
mov dx, word [0x5fd38c]
cmovns ecx, eax
movzx eax, cx
movsx ecx, ax
mov edi, eax
add ecx, 0xeb
movsx eax, dx
cmp ecx, eax
jle 0x49b040
mov eax, 0xeb
sub dx, ax
movzx edi, dx
mov eax, dword [ebp - 0x104]
xor ecx, ecx
mov dx, word [0x5fd390]
test si, si
movzx eax, ax
cmovns ecx, eax
movzx eax, cx
movsx ecx, ax
mov esi, eax
add ecx, 0x64
movsx eax, dx
cmp ecx, eax
jle 0x49b071
sub dx, 0x64
movzx esi, dx
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xf0]
mov word [eax + 0x141c7e], di
mov word [eax + 0x141c80], si
movsx eax, word [ebp - 0xfc]
mov dword [ecx + 0x141c30], eax
mov dword [ecx + 0x14369c], eax
movzx eax, word [ecx + 0x18c17e]
mov dword [ecx + 0x1436a0], eax
movsx eax, word [ecx + 0x18c148]
mov dword [ecx + 0x1436a4], eax
movsx eax, word [ecx + 0x18c14a]
mov dword [ecx + 0x1436a8], eax
mov eax, ecx
jmp 0x49cd78
push 0
push 2
push 0xb
push 5
push 0x14
mov ecx, esi
call fcn.00446a80
mov edx, dword [ebp + 8]
lea esi, [edi - 0x32]
add edx, 0xffffff8b
movzx eax, si
xor ecx, ecx
mov dword [ebp - 0x104], eax
test dx, dx
movzx eax, dx
mov dx, word [0x5fd38c]
cmovns ecx, eax
movzx eax, cx
movsx ecx, ax
mov edi, eax
add ecx, 0xeb
movsx eax, dx
cmp ecx, eax
jle 0x49b121
mov eax, 0xeb
sub dx, ax
movzx edi, dx
mov eax, dword [ebp - 0x104]
xor ecx, ecx
mov dx, word [0x5fd390]
test si, si
movzx eax, ax
cmovns ecx, eax
movzx eax, cx
movsx ecx, ax
mov esi, eax
add ecx, 0x64
movsx eax, dx
cmp ecx, eax
jle 0x49b071
mov ecx, dword [ebp - 0xf0]
sub dx, 0x64
mov eax, dword [ebp - 0xf0]
movzx esi, dx
mov word [eax + 0x141c7e], di
mov word [eax + 0x141c80], si
movsx eax, word [ebp - 0xfc]
mov dword [ecx + 0x141c30], eax
mov dword [ecx + 0x14369c], eax
movzx eax, word [ecx + 0x18c17e]
mov dword [ecx + 0x1436a0], eax
movsx eax, word [ecx + 0x18c148]
mov dword [ecx + 0x1436a4], eax
movsx eax, word [ecx + 0x18c14a]
mov dword [ecx + 0x1436a8], eax
mov eax, ecx
jmp 0x49cd78
push 0
push 0
push 0xd
push 0
push 0x14
mov ecx, esi
call fcn.00446a80
mov edx, dword [ebp + 8]
lea esi, [edi - 0x32]
add edx, 0xffffff8b
movzx eax, si
xor ecx, ecx
mov dword [ebp - 0x104], eax
test dx, dx
movzx eax, dx
mov dx, word [0x5fd38c]
cmovns ecx, eax
movzx eax, cx
movsx ecx, ax
mov edi, eax
add ecx, 0xeb
movsx eax, dx
cmp ecx, eax
jle 0x49b206
mov eax, 0xeb
sub dx, ax
movzx edi, dx
mov eax, dword [ebp - 0x104]
xor ecx, ecx
mov dx, word [0x5fd390]
test si, si
movzx eax, ax
cmovns ecx, eax
movzx eax, cx
movsx ecx, ax
mov esi, eax
add ecx, 0x64
movsx eax, dx
cmp ecx, eax
jle 0x49aef7
mov eax, dword [ebp - 0xf0]
sub dx, 0x64
movzx esi, dx
mov word [eax + 0x141c80], si
mov esi, dword [ebp - 0xf0]
mov word [eax + 0x141c7e], di
movsx eax, word [ebp - 0xfc]
mov dword [esi + 0x141c30], eax
jmp case.0x49caf1.7
push 0
push 0
push 7
push 0
push 0x14
mov ecx, esi
call fcn.00446a80
mov edx, dword [ebp + 8]
lea esi, [edi - 0x32]
add edx, 0xffffff8b
movzx eax, si
xor ecx, ecx
mov dword [ebp - 0x104], eax
test dx, dx
movzx eax, dx
mov dx, word [0x5fd38c]
cmovns ecx, eax
movzx eax, cx
movsx ecx, ax
mov edi, eax
add ecx, 0xeb
movsx eax, dx
cmp ecx, eax
jle 0x49b2bc
mov eax, 0xeb
sub dx, ax
movzx edi, dx
mov eax, dword [ebp - 0x104]
xor ecx, ecx
mov dx, word [0x5fd390]
test si, si
movzx eax, ax
cmovns ecx, eax
movzx eax, cx
movsx ecx, ax
mov esi, eax
add ecx, 0x64
movsx eax, dx
cmp ecx, eax
jle 0x49b071
mov ecx, dword [ebp - 0xf0]
sub dx, 0x64
mov eax, dword [ebp - 0xf0]
movzx esi, dx
mov word [eax + 0x141c7e], di
mov word [eax + 0x141c80], si
movsx eax, word [ebp - 0xfc]
mov dword [ecx + 0x141c30], eax
mov dword [ecx + 0x14369c], eax
movzx eax, word [ecx + 0x18c17e]
mov dword [ecx + 0x1436a0], eax
movsx eax, word [ecx + 0x18c148]
mov dword [ecx + 0x1436a4], eax
movsx eax, word [ecx + 0x18c14a]
mov dword [ecx + 0x1436a8], eax
mov eax, ecx
jmp 0x49cd78
push dword [ebp - 0x114]
mov ecx, esi
call fcn.00487b00
cmp eax, 1
mov eax, esi
jne 0x49cd78
cmp byte [eax + 0x189655], 0
jne 0x49cd78
push 0
push 0
push 0
push 4
push 0x14
mov ecx, eax
call fcn.00446a80
mov edx, dword [ebp + 8]
lea esi, [edi - 0x32]
add edx, 0xffffff8b
movzx eax, si
xor ecx, ecx
mov dword [ebp - 0x104], eax
test dx, dx
movzx eax, dx
mov dx, word [0x5fd38c]
cmovns ecx, eax
movzx eax, cx
movsx ecx, ax
mov edi, eax
add ecx, 0xeb
movsx eax, dx
cmp ecx, eax
jle 0x49b3c6
mov eax, 0xeb
sub dx, ax
movzx edi, dx
mov eax, dword [ebp - 0x104]
xor ecx, ecx
mov dx, word [0x5fd390]
test si, si
movzx eax, ax
cmovns ecx, eax
movzx eax, cx
movsx ecx, ax
mov esi, eax
add ecx, 0x64
movsx eax, dx
cmp ecx, eax
jle 0x49aef7
mov eax, dword [ebp - 0xf0]
sub dx, 0x64
movzx esi, dx
mov word [eax + 0x141c80], si
mov esi, dword [ebp - 0xf0]
mov word [eax + 0x141c7e], di
movsx eax, word [ebp - 0xfc]
mov dword [esi + 0x141c30], eax
jmp case.0x49caf1.7
push 0
push 0
push 0
push 4
push 0x14
mov ecx, esi
call fcn.00446a80
mov edx, dword [ebp + 8]
lea esi, [edi - 0x32]
add edx, 0xffffff8b
movzx eax, si
xor ecx, ecx
mov dword [ebp - 0x104], eax
test dx, dx
movzx eax, dx
mov dx, word [0x5fd38c]
cmovns ecx, eax
movzx eax, cx
movsx ecx, ax
mov edi, eax
add ecx, 0xeb
movsx eax, dx
cmp ecx, eax
jle 0x49b47c
mov eax, 0xeb
sub dx, ax
movzx edi, dx
mov eax, dword [ebp - 0x104]
xor ecx, ecx
mov dx, word [0x5fd390]
test si, si
movzx eax, ax
cmovns ecx, eax
movzx eax, cx
movsx ecx, ax
mov esi, eax
add ecx, 0x64
movsx eax, dx
cmp ecx, eax
jle 0x49aef7
mov eax, dword [ebp - 0xf0]
sub dx, 0x64
movzx esi, dx
mov word [eax + 0x141c80], si
mov esi, dword [ebp - 0xf0]
mov word [eax + 0x141c7e], di
movsx eax, word [ebp - 0xfc]
mov dword [esi + 0x141c30], eax
jmp case.0x49caf1.7
cmp byte [esi + 0x189655], 0
je 0x49b5ba
cmp cx, 0x20
jne case.0x49caf1.7
push dword [ebp - 0x114]
mov ecx, esi
call fcn.00487b00
mov cx, word [ebp - 0xfc]
mov edx, eax
test edx, edx
jns 0x49b585
cmp cx, 0xa
jl 0x49b51e
cmp cx, 0x62
jle 0x49bb40
cmp cx, 0x70
je 0x49bb40
cmp cx, 0x72
jl 0x49b538
cmp cx, 0x74
jle 0x49bb40
cmp cx, 0x76
je 0x49bb40
cmp cx, 0x78
je 0x49bb40
cmp cx, 0x79
jl 0x49b55c
cmp cx, 0x7d
jle 0x49bb40
lea eax, [ecx - 1]
cmp ax, 5
ja case.0x49caf1.7
cmp byte [esi + 0x1895fb], 0
jne 0x49bb40
cmp byte [esi + 0x18bf72], 0
jne 0x49bb40
test edx, edx
jne 0x49bb11
cmp byte [esi + 0x1895fb], 0
jne 0x49b5a1
cmp byte [esi + 0x18bf73], 0
je case.0x49caf1.7
cmp cx, 0xa
jl case.0x49caf1.7
cmp cx, 0x62
jle 0x49bb40
jmp case.0x49caf1.7
push 0
push 0
push 0
push 4
push 0x14
mov ecx, esi
call fcn.00446a80
mov edx, dword [ebp + 8]
add edi, 0xffffffce
xor ecx, ecx
movzx eax, di
add edx, 0xffffff8b
mov dword [ebp - 0x104], eax
test dx, dx
movzx eax, dx
mov dx, word [0x5fd38c]
cmovns ecx, eax
movzx eax, cx
mov ecx, eax
mov dword [ebp - 0xf8], ecx
movsx ecx, ax
add ecx, 0xeb
movsx eax, dx
cmp ecx, eax
jle 0x49b61b
mov eax, 0xeb
sub dx, ax
movzx eax, dx
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x104]
xor ecx, ecx
mov dx, word [0x5fd390]
test di, di
movzx eax, ax
cmovns ecx, eax
movzx eax, cx
movsx ecx, ax
mov edi, eax
add ecx, 0x64
movsx eax, dx
cmp ecx, eax
jle 0x49b64c
sub dx, 0x64
movzx edi, dx
mov eax, dword [ebp - 0xf8]
mov word [esi + 0x141c7e], ax
movsx eax, word [ebp - 0xfc]
mov word [esi + 0x141c80], di
mov dword [esi + 0x141c30], eax
jmp case.0x49caf1.7
push 0
push 0
push 0x2e
push 0
push 0x14
mov ecx, esi
call fcn.00446a80
mov edx, dword [ebp + 8]
add edi, 0xffffffce
xor ecx, ecx
movzx eax, di
add edx, 0xffffff8b
mov dword [ebp - 0x104], eax
test dx, dx
movzx eax, dx
mov dx, word [0x5fd38c]
cmovns ecx, eax
movzx eax, cx
mov ecx, eax
mov dword [ebp - 0xf8], ecx
movsx ecx, ax
add ecx, 0xeb
movsx eax, dx
cmp ecx, eax
jle 0x49b6d3
mov eax, 0xeb
sub dx, ax
movzx eax, dx
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x104]
xor ecx, ecx
mov dx, word [0x5fd390]
test di, di
movzx eax, ax
cmovns ecx, eax
movzx eax, cx
movsx ecx, ax
mov edi, eax
add ecx, 0x64
movsx eax, dx
cmp ecx, eax
jle 0x49b64c
mov eax, dword [ebp - 0xf8]
sub dx, 0x64
mov word [esi + 0x141c7e], ax
movsx eax, word [ebp - 0xfc]
movzx edi, dx
mov word [esi + 0x141c80], di
mov dword [esi + 0x141c30], eax
jmp case.0x49caf1.7
push 0
lea eax, [edx - 0x63]
mov ecx, esi
push eax
push 0
push 4
push 0x14
call fcn.00446a80
mov edx, dword [ebp + 8]
add edi, 0xffffffce
xor ecx, ecx
movzx eax, di
add edx, 0xffffff8b
mov dword [ebp - 0x104], eax
test dx, dx
movzx eax, dx
mov dx, word [0x5fd38c]
cmovns ecx, eax
movzx eax, cx
mov ecx, eax
mov dword [ebp - 0xf8], ecx
movsx ecx, ax
add ecx, 0xeb
movsx eax, dx
cmp ecx, eax
jle 0x49b791
mov eax, 0xeb
sub dx, ax
movzx eax, dx
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x104]
xor ecx, ecx
mov dx, word [0x5fd390]
test di, di
movzx eax, ax
cmovns ecx, eax
movzx eax, cx
movsx ecx, ax
mov edi, eax
add ecx, 0x64
movsx eax, dx
cmp ecx, eax
jle 0x49b64c
mov eax, dword [ebp - 0xf8]
sub dx, 0x64
mov word [esi + 0x141c7e], ax
movsx eax, word [ebp - 0xfc]
movzx edi, dx
mov word [esi + 0x141c80], di
mov dword [esi + 0x141c30], eax
jmp case.0x49caf1.7
push dword [ebp - 0x114]
mov ecx, esi
call fcn.00487b00
cmp eax, 1
jne case.0x49caf1.7
movsx eax, word [ebp - 0xfc]
mov ecx, esi
push 0
sub eax, 0x65
push eax
push 0x3a
push 0
push 0x14
call fcn.00446a80
mov edx, dword [ebp + 8]
add edi, 0xffffffce
xor ecx, ecx
movzx eax, di
add edx, 0xffffff8b
mov dword [ebp - 0x104], eax
test dx, dx
movzx eax, dx
mov dx, word [0x5fd38c]
cmovns ecx, eax
movzx eax, cx
mov ecx, eax
mov dword [ebp - 0xf8], ecx
movsx ecx, ax
add ecx, 0xeb
movsx eax, dx
cmp ecx, eax
jle 0x49b86c
mov eax, 0xeb
sub dx, ax
movzx eax, dx
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x104]
xor ecx, ecx
mov dx, word [0x5fd390]
test di, di
movzx eax, ax
cmovns ecx, eax
movzx eax, cx
movsx ecx, ax
mov edi, eax
add ecx, 0x64
movsx eax, dx
cmp ecx, eax
jle 0x49b64c
mov eax, dword [ebp - 0xf8]
sub dx, 0x64
mov word [esi + 0x141c7e], ax
movsx eax, word [ebp - 0xfc]
movzx edi, dx
mov word [esi + 0x141c80], di
mov dword [esi + 0x141c30], eax
jmp case.0x49caf1.7
push 0
push 0
push 0
push 4
push 0x14
mov ecx, esi
call fcn.00446a80
mov edx, dword [ebp + 8]
add edi, 0xffffffce
xor ecx, ecx
movzx eax, di
add edx, 0xffffff8b
mov dword [ebp - 0x104], eax
test dx, dx
movzx eax, dx
mov dx, word [0x5fd38c]
cmovns ecx, eax
movzx eax, cx
mov ecx, eax
mov dword [ebp - 0xf8], ecx
movsx ecx, ax
add ecx, 0xeb
movsx eax, dx
cmp ecx, eax
jle 0x49b928
mov eax, 0xeb
sub dx, ax
movzx eax, dx
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x104]
xor ecx, ecx
mov dx, word [0x5fd390]
test di, di
movzx eax, ax
cmovns ecx, eax
movzx eax, cx
movsx ecx, ax
mov edi, eax
add ecx, 0x64
movsx eax, dx
cmp ecx, eax
jle 0x49b64c
mov eax, dword [ebp - 0xf8]
sub dx, 0x64
mov word [esi + 0x141c7e], ax
movsx eax, word [ebp - 0xfc]
movzx edi, dx
mov word [esi + 0x141c80], di
mov dword [esi + 0x141c30], eax
jmp case.0x49caf1.7
push dword [ebp - 0x114]
mov ecx, esi
call fcn.00487b00
cmp eax, 1
jne case.0x49ae6a.16
push 0
push 0
push 0
push 4
push 0x14
mov ecx, esi
call fcn.00446a80
mov edx, dword [ebp + 8]
add edi, 0xffffffce
xor ecx, ecx
movzx eax, di
add edx, 0xffffff8b
mov dword [ebp - 0x104], eax
test dx, dx
movzx eax, dx
mov dx, word [0x5fd38c]
cmovns ecx, eax
movzx eax, cx
mov ecx, eax
mov dword [ebp - 0xf8], ecx
movsx ecx, ax
add ecx, 0xeb
movsx eax, dx
cmp ecx, eax
jle 0x49b9fa
mov eax, 0xeb
sub dx, ax
movzx eax, dx
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x104]
xor ecx, ecx
mov dx, word [0x5fd390]
test di, di
movzx eax, ax
cmovns ecx, eax
movzx eax, cx
movsx ecx, ax
mov edi, eax
add ecx, 0x64
movsx eax, dx
cmp ecx, eax
jle 0x49b64c
mov eax, dword [ebp - 0xf8]
sub dx, 0x64
mov word [esi + 0x141c7e], ax
movsx eax, word [ebp - 0xfc]
movzx edi, dx
mov word [esi + 0x141c80], di
mov dword [esi + 0x141c30], eax
jmp case.0x49caf1.7
push 0
push 0xffffffffffffffff
push 0x3d
push 0
push 0x14
mov ecx, esi
call fcn.00446a80
mov edx, dword [ebp + 8]
add edi, 0xffffffce
xor ecx, ecx
movzx eax, di
add edx, 0xffffff8b
mov dword [ebp - 0x104], eax
test dx, dx
movzx eax, dx
mov dx, word [0x5fd38c]
cmovns ecx, eax
movzx eax, cx
mov ecx, eax
mov dword [ebp - 0xf8], ecx
movsx ecx, ax
add ecx, 0xeb
movsx eax, dx
cmp ecx, eax
jle 0x49bab6
mov eax, 0xeb
sub dx, ax
movzx eax, dx
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x104]
xor ecx, ecx
mov dx, word [0x5fd390]
test di, di
movzx eax, ax
cmovns ecx, eax
movzx eax, cx
movsx ecx, ax
mov edi, eax
add ecx, 0x64
movsx eax, dx
cmp ecx, eax
jle 0x49b64c
mov eax, dword [ebp - 0xf8]
sub dx, 0x64
mov word [esi + 0x141c7e], ax
movsx eax, word [ebp - 0xfc]
movzx edi, dx
mov word [esi + 0x141c80], di
mov dword [esi + 0x141c30], eax
jmp case.0x49caf1.7
test edx, edx
jle case.0x49caf1.7
cmp cx, 1
jl 0x49bb25
cmp cx, 6
jle 0x49bb33
sub cx, 0x6b
cmp cx, 1
ja case.0x49caf1.7
cmp byte [esi + 0x1895fb], 0
je case.0x49caf1.7
movsx ecx, word [esi + 0x18c148]
movsx eax, word [esi + 0x18c130]
mov edi, dword [ebp - 0x104]
sub eax, ecx
movsx ecx, word [esi + 0x18c14a]
cdq
xor eax, edx
sub eax, edx
mov dword [ebp - 0x110], eax
movsx eax, word [esi + 0x18c132]
sub eax, ecx
cdq
mov ecx, eax
mov eax, dword [ebp - 0x110]
xor ecx, edx
sub ecx, edx
movsx edx, al
movsx eax, cl
mov dword [ebp - 0xf4], ecx
lea ecx, [edi + 1]
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0xb0], eax
cmp edx, ecx
jg 0x49bba5
cmp eax, ecx
jle 0x49cd43
mov ecx, esi
call fcn.00487c00
add eax, 0xfffffffb
cmp eax, 0x10
ja case.0x49caf1.7
movzx eax, byte [eax + 0x49e12c]
jmp dword [eax*4 + 0x49e10c]
mov byte [esi + 0x18d8d2], 3
movzx eax, word [esi + 0x18c148]
mov ecx, esi
mov word [esi + 0x18c14c], ax
movzx eax, word [esi + 0x18c14a]
mov word [esi + 0x18c14e], ax
call fcn.00487810
movzx ecx, ax
mov dword [ebp - 0x100], ecx
jmp case.0x49caf1.7
cmp byte [esi + 0x1895fd], 0
jne 0x49bc10
cmp byte [esi + 0x1895fc], 0
je 0x49bc2a
cmp dword [esi + 0x18bfec], 0
jle 0x49bc2a
mov ax, word [esi + 0x18c136]
dec ax
cmp ax, 5
mov al, 2
jbe 0x49bc2c
mov al, 1
mov byte [esi + 0x18d8d2], al
movzx eax, word [esi + 0x18c148]
jmp 0x49adc5
lea eax, [edi + 3]
cmp dword [ebp - 0xf8], eax
jg 0x49bcae
cmp dword [ebp - 0xb0], eax
jg 0x49bcae
cmp word [esi + 0x18c04c], 0
jle 0x49bcae
cmp byte [esi + 0x18965b], 1
jne 0x49bcae
mov eax, dword [ebp - 0x110]
lea ecx, [edi + 1]
movsx eax, al
cmp eax, ecx
jg 0x49bca1
mov eax, dword [ebp - 0xf4]
movsx ecx, al
lea eax, [edi + 1]
cmp ecx, eax
jg 0x49bca1
cmp byte [esi + 0x1895fd], 0
jne 0x49bc96
cmp byte [esi + 0x1895fc], 0
je 0x49bca1
cmp dword [esi + 0x18bfec], 0
mov al, 8
jg 0x49bca3
mov al, 3
mov byte [esi + 0x18d8d2], al
jmp 0x49bbcd
cmp byte [esi + 0x1895fd], 0
jne 0x49bcc4
cmp byte [esi + 0x1895fc], 0
je 0x49bc2a
cmp dword [esi + 0x18bfec], 0
jle 0x49bc2a
mov ax, word [esi + 0x18c136]
dec ax
cmp ax, 5
mov al, 2
jbe 0x49bc2c
mov al, 1
mov byte [esi + 0x18d8d2], al
movzx eax, word [esi + 0x18c148]
jmp 0x49adc5
lea eax, [edi + 4]
cmp dword [ebp - 0xf8], eax
jg 0x49bd7a
cmp dword [ebp - 0xb0], eax
jg 0x49bd7a
cmp word [esi + 0x18c04c], 0
jle 0x49bd7a
cmp byte [esi + 0x18965b], 1
jne 0x49bd7a
mov eax, dword [ebp - 0x110]
lea ecx, [edi + 1]
movsx eax, al
cmp eax, ecx
jg 0x49bca1
mov eax, dword [ebp - 0xf4]
movsx ecx, al
lea eax, [edi + 1]
cmp ecx, eax
jg 0x49bca1
cmp byte [esi + 0x1895fd], 0
jne 0x49bd5e
cmp byte [esi + 0x1895fc], 0
je 0x49bca1
cmp dword [esi + 0x18bfec], 0
mov al, 8
jg 0x49bca3
mov al, 3
mov byte [esi + 0x18d8d2], al
jmp 0x49bbcd
cmp byte [esi + 0x1895fd], 0
jne 0x49bd90
cmp byte [esi + 0x1895fc], 0
je 0x49bc2a
cmp dword [esi + 0x18bfec], 0
jle 0x49bc2a
mov ax, word [esi + 0x18c136]
dec ax
cmp ax, 5
mov al, 2
jbe 0x49bc2c
mov al, 1
mov byte [esi + 0x18d8d2], al
movzx eax, word [esi + 0x18c148]
jmp 0x49adc5
lea eax, [edi + 2]
cmp dword [ebp - 0xf8], eax
jg 0x49be46
cmp dword [ebp - 0xb0], eax
jg 0x49be46
cmp word [esi + 0x18c04c], 0
jle 0x49be46
cmp byte [esi + 0x18965b], 1
jne 0x49be46
mov eax, dword [ebp - 0x110]
lea ecx, [edi + 1]
movsx eax, al
cmp eax, ecx
jg 0x49bca1
mov eax, dword [ebp - 0xf4]
movsx ecx, al
lea eax, [edi + 1]
cmp ecx, eax
jg 0x49bca1
cmp byte [esi + 0x1895fd], 0
jne 0x49be2a
cmp byte [esi + 0x1895fc], 0
je 0x49bca1
cmp dword [esi + 0x18bfec], 0
mov al, 8
jg 0x49bca3
mov al, 3
mov byte [esi + 0x18d8d2], al
jmp 0x49bbcd
cmp byte [esi + 0x1895fd], 0
jne 0x49be5c
cmp byte [esi + 0x1895fc], 0
je 0x49bc2a
cmp dword [esi + 0x18bfec], 0
jle 0x49bc2a
mov ax, word [esi + 0x18c136]
dec ax
cmp ax, 5
mov al, 2
jbe 0x49bc2c
mov al, 1
mov byte [esi + 0x18d8d2], al
movzx eax, word [esi + 0x18c148]
jmp 0x49adc5
lea eax, [edi + 2]
cmp dword [ebp - 0xf8], eax
jg 0x49bf12
cmp dword [ebp - 0xb0], eax
jg 0x49bf12
cmp word [esi + 0x18c04c], 0
jle 0x49bf12
cmp byte [esi + 0x18965b], 1
jne 0x49bf12
mov eax, dword [ebp - 0x110]
lea ecx, [edi + 1]
movsx eax, al
cmp eax, ecx
jg 0x49bca1
mov eax, dword [ebp - 0xf4]
movsx ecx, al
lea eax, [edi + 1]
cmp ecx, eax
jg 0x49bca1
cmp byte [esi + 0x1895fd], 0
jne 0x49bef6
cmp byte [esi + 0x1895fc], 0
je 0x49bca1
cmp dword [esi + 0x18bfec], 0
mov al, 8
jg 0x49bca3
mov al, 3
mov byte [esi + 0x18d8d2], al
jmp 0x49bbcd
cmp byte [esi + 0x1895fd], 0
jne 0x49bf28
cmp byte [esi + 0x1895fc], 0
je 0x49bc2a
cmp dword [esi + 0x18bfec], 0
jle 0x49bc2a
mov ax, word [esi + 0x18c136]
dec ax
cmp ax, 5
mov al, 2
jbe 0x49bc2c
mov al, 1
mov byte [esi + 0x18d8d2], al
movzx eax, word [esi + 0x18c148]
jmp 0x49adc5
lea eax, [edi + 2]
cmp dword [ebp - 0xf8], eax
jg 0x49bfde
cmp dword [ebp - 0xb0], eax
jg 0x49bfde
cmp word [esi + 0x18c04c], 0
jle 0x49bfde
cmp byte [esi + 0x18965b], 1
jne 0x49bfde
mov eax, dword [ebp - 0x110]
lea ecx, [edi + 1]
movsx eax, al
cmp eax, ecx
jg 0x49bca1
mov eax, dword [ebp - 0xf4]
movsx ecx, al
lea eax, [edi + 1]
cmp ecx, eax
jg 0x49bca1
cmp byte [esi + 0x1895fd], 0
jne 0x49bfc2
cmp byte [esi + 0x1895fc], 0
je 0x49bca1
cmp dword [esi + 0x18bfec], 0
mov al, 8
jg 0x49bca3
mov al, 3
mov byte [esi + 0x18d8d2], al
jmp 0x49bbcd
cmp byte [esi + 0x1895fd], 0
jne 0x49bff4
cmp byte [esi + 0x1895fc], 0
je 0x49bc2a
cmp dword [esi + 0x18bfec], 0
jle 0x49bc2a
mov ax, word [esi + 0x18c136]
dec ax
cmp ax, 5
mov al, 2
jbe 0x49bc2c
mov al, 1
mov byte [esi + 0x18d8d2], al
movzx eax, word [esi + 0x18c148]
jmp 0x49adc5
cmp cx, 0x42
je 0x49c04c
cmp cx, 0x49
je 0x49c04c
cmp cx, 0x51
je 0x49c04c
cmp cx, 0x5b
je 0x49c04c
sub cx, 0x5c
cmp cx, 4
ja 0x49c053
mov ecx, 1
jmp 0x49c055
xor ecx, ecx
mov ax, word [esi + 0x18c13a]
lea edi, [ecx + 2]
mov edx, 0xff0
and ax, dx
mov edx, 0xf0
cmp ax, dx
mov eax, 3
mov word [esi + 0x13ffc4], ax
movsx eax, word [esi + 0x18c130]
cmovne edi, ecx
movsx ecx, word [esi + 0x18c148]
sub eax, ecx
movsx ecx, word [esi + 0x18c14a]
cdq
xor eax, edx
sub eax, edx
mov dword [ebp - 0x110], eax
movsx eax, word [esi + 0x18c132]
sub eax, ecx
cdq
mov ecx, eax
mov eax, dword [ebp - 0x110]
xor ecx, edx
sub ecx, edx
movsx edx, al
movsx eax, cl
mov dword [ebp - 0xf4], ecx
lea ecx, [edi + 1]
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0xb0], eax
cmp edx, ecx
jg 0x49c117
cmp eax, ecx
jg 0x49c117
mov ecx, esi
call fcn.00487810
movzx ecx, ax
mov dword [ebp - 0x100], ecx
mov byte [esi + 0x18d8d2], 3
movzx eax, word [esi + 0x18c148]
mov word [esi + 0x18c14c], ax
movzx eax, word [esi + 0x18c14a]
mov word [esi + 0x18c14e], ax
mov eax, dword [ebp - 0xf0]
jmp 0x49cd78
mov ecx, esi
call fcn.00487c00
add eax, 0xfffffffb
cmp eax, 0x10
ja case.0x49c12d.11
movzx eax, byte [eax + 0x49e160]
jmp dword [eax*4 + 0x49e140]
mov edx, dword [ebp - 0xf8]
lea eax, [edi + 2]
mov dword [ebp - 0x104], eax
cmp edx, eax
jne 0x49c1cd
mov eax, dword [ebp - 0xb0]
mov ecx, eax
cmp eax, dword [ebp - 0x104]
je 0x49c182
lea eax, [edi + 2]
cmp edx, edi
jne 0x49c166
cmp ecx, eax
je 0x49c182
mov eax, dword [ebp - 0x110]
lea edx, [edi + 2]
movsx eax, al
cmp eax, edx
jne 0x49c2d5
cmp ecx, edi
jne 0x49c2d5
cmp byte [esi + 0x1895fd], 0
jne 0x49c194
cmp byte [esi + 0x1895fc], 0
je 0x49c1e6
cmp dword [esi + 0x18bfec], 0
jle 0x49c1e6
mov ecx, esi
call fcn.00487c00
mov ecx, esi
mov eax, dword [esi + eax*4 + 0x1859c4]
cmp byte [eax + 0x1b], 0x64
jne 0x49c1d5
mov byte [esi + 0x18d8d2], 8
call fcn.00487810
movzx eax, ax
mov dword [ebp - 0x100], eax
jmp 0x49c0f0
mov ecx, dword [ebp - 0xb0]
jmp 0x49c15e
mov byte [esi + 0x18d8d2], 2
call fcn.0044b170
jmp 0x49c0f0
mov byte [esi + 0x18d8d2], 1
movzx eax, word [esi + 0x18c148]
mov ecx, esi
mov word [esi + 0x18c14c], ax
movzx eax, word [esi + 0x18c14a]
mov word [esi + 0x18c14e], ax
call fcn.0044b170
mov eax, dword [ebp - 0xf0]
jmp 0x49cd78
lea eax, [edi + 3]
cmp dword [ebp - 0xf8], eax
jg 0x49c27f
cmp dword [ebp - 0xb0], eax
jg 0x49c27f
cmp word [esi + 0x18c04c], 0
jle 0x49c27f
cmp byte [esi + 0x18965b], 1
jne 0x49c27f
movzx eax, word [esi + 0x18c148]
mov ecx, esi
mov word [esi + 0x18c14c], ax
movzx eax, word [esi + 0x18c14a]
mov byte [esi + 0x18d8d2], 3
mov word [esi + 0x18c14e], ax
call fcn.00487810
movzx ecx, ax
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x100], ecx
jmp 0x49cd78
mov ecx, dword [ebp - 0x110]
lea edx, [edi + 2]
movsx eax, cl
mov dword [ebp - 0xf8], edx
cmp eax, edx
mov edx, dword [ebp - 0xf4]
jne 0x49c2aa
movsx eax, dl
cmp eax, dword [ebp - 0xf8]
je 0x49c182
movsx eax, cl
cmp eax, edi
jne 0x49c2c0
movsx eax, dl
cmp eax, dword [ebp - 0xf8]
je 0x49c182
movsx eax, cl
lea ecx, [edi + 2]
cmp eax, ecx
jne 0x49c2d5
movsx eax, dl
cmp eax, edi
je 0x49c182
cmp byte [esi + 0x1895fd], 0
jne 0x49c2e7
cmp byte [esi + 0x1895fc], 0
je 0x49c301
cmp dword [esi + 0x18bfec], 0
jle 0x49c301
mov ax, word [esi + 0x18c136]
dec ax
cmp ax, 5
mov al, 2
jbe 0x49c303
mov al, 1
mov byte [esi + 0x18d8d2], al
movzx eax, word [esi + 0x18c148]
mov ecx, esi
mov word [esi + 0x18c14c], ax
movzx eax, word [esi + 0x18c14a]
mov word [esi + 0x18c14e], ax
call fcn.0044b170
mov eax, dword [ebp - 0xf0]
jmp 0x49cd78
lea eax, [edi + 4]
cmp dword [ebp - 0xf8], eax
jg 0x49c361
cmp dword [ebp - 0xb0], eax
jg 0x49c361
cmp word [esi + 0x18c04c], 0
jle 0x49c361
cmp byte [esi + 0x18965b], 1
je case.0x49c12d.6
mov ecx, dword [ebp - 0x110]
add edi, 2
mov edx, dword [ebp - 0xf4]
movsx eax, cl
cmp eax, edi
jne 0x49c382
movsx eax, dl
cmp eax, edi
je 0x49c182
test cl, cl
jne 0x49c38e
cmp dl, 2
jmp 0x49c2cf
cmp cl, 2
jne 0x49c2d5
test dl, dl
jmp 0x49c2cf
lea ecx, [edi + 2]
mov dword [ebp - 0x104], ecx
cmp dword [ebp - 0xf8], ecx
jg 0x49c3ce
cmp dword [ebp - 0xb0], ecx
jg 0x49c3ce
cmp word [esi + 0x18c04c], 0
jle 0x49c3ce
cmp byte [esi + 0x18965b], 1
je case.0x49c12d.6
mov edx, dword [ebp - 0x110]
movsx eax, dl
cmp eax, ecx
mov ecx, dword [ebp - 0xf4]
jne 0x49c3f0
movsx eax, cl
cmp eax, dword [ebp - 0x104]
je 0x49c182
movsx eax, dl
cmp eax, edi
jne 0x49c405
movsx ecx, cl
lea eax, [edi + 2]
cmp ecx, eax
je 0x49c182
lea ecx, [edi + 2]
movsx eax, dl
cmp eax, ecx
jne 0x49c2d5
mov eax, dword [ebp - 0xf4]
movsx eax, al
jmp 0x49c2cd
lea ecx, [edi + 2]
mov dword [ebp - 0x104], ecx
cmp dword [ebp - 0xf8], ecx
jg 0x49c451
cmp dword [ebp - 0xb0], ecx
jg 0x49c451
cmp word [esi + 0x18c04c], 0
jle 0x49c451
cmp byte [esi + 0x18965b], 1
je case.0x49c12d.6
mov edx, dword [ebp - 0x110]
movsx eax, dl
cmp eax, ecx
mov ecx, dword [ebp - 0xf4]
jne 0x49c473
movsx eax, cl
cmp eax, dword [ebp - 0x104]
je 0x49c182
movsx eax, dl
cmp eax, edi
jne 0x49c488
movsx ecx, cl
lea eax, [edi + 2]
cmp ecx, eax
je 0x49c182
lea ecx, [edi + 2]
movsx eax, dl
cmp eax, ecx
jne 0x49c2d5
mov eax, dword [ebp - 0xf4]
movsx eax, al
cmp eax, edi
jmp 0x49c17c
lea ecx, [edi + 2]
mov dword [ebp - 0x104], ecx
cmp dword [ebp - 0xf8], ecx
jg 0x49c4d6
cmp dword [ebp - 0xb0], ecx
jg 0x49c4d6
cmp word [esi + 0x18c04c], 0
jle 0x49c4d6
cmp byte [esi + 0x18965b], 1
je case.0x49c12d.6
mov edx, dword [ebp - 0x110]
movsx eax, dl
cmp eax, ecx
mov ecx, dword [ebp - 0xf4]
jne 0x49c4f4
movsx eax, cl
cmp eax, dword [ebp - 0x104]
je 0x49c51c
movsx eax, dl
cmp eax, edi
jne 0x49c505
movsx ecx, cl
lea eax, [edi + 2]
cmp ecx, eax
je 0x49c51c
lea ecx, [edi + 2]
movsx eax, dl
cmp eax, ecx
jne 0x49c547
mov eax, dword [ebp - 0xf4]
movsx eax, al
cmp eax, edi
jne 0x49c547
cmp byte [esi + 0x1895fd], 0
jne 0x49c52e
cmp byte [esi + 0x1895fc], 0
je 0x49c53b
cmp dword [esi + 0x18bfec], 0
jg 0x49c19d
mov byte [esi + 0x18d8d2], 1
jmp 0x49c309
cmp byte [esi + 0x1895fd], 0
jne 0x49c559
cmp byte [esi + 0x1895fc], 0
je 0x49c573
cmp dword [esi + 0x18bfec], 0
jle 0x49c573
mov ax, word [esi + 0x18c136]
dec ax
cmp ax, 5
mov al, 2
jbe 0x49c575
mov al, 1
mov byte [esi + 0x18d8d2], al
jmp 0x49c1ed
cmp byte [eax + 0x1895fd], 0
jne 0x49c592
cmp byte [eax + 0x1895fc], 0
je 0x49c5ac
cmp dword [eax + 0x18bfec], 0
jle 0x49c5ac
mov ax, word [eax + 0x18c136]
dec ax
cmp ax, 5
mov al, 2
jbe 0x49c5ae
mov al, 1
mov esi, dword [ebp - 0xf0]
mov ecx, esi
mov byte [esi + 0x18d8d2], al
mov ax, word [ebp + 0x10]
mov word [esi + 0x18c14c], ax
mov ax, word [ebp + 0x14]
mov word [esi + 0x18c14e], ax
call fcn.0044b170
jmp case.0x49caf1.7
cmp byte [ebp + 0x1c], 0
je case.0x49caf1.7
cmp byte [eax + 0x1895f8], 0
mov byte [eax + 0x18d8d2], 0
je 0x49c6df
xorps xmm0, xmm0
mov byte [eax + 0x1895f8], 0
push 0x20
movups xmmword [ebp - 0xec], xmm0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0
call fcn.005aa520
movups xmm0, xmmword [str.COMMAND_PROCESSOR1]
mov dword [ebp - 0xec], eax
add esp, 4
mov dword [ebp - 0xdc], 0x12
mov dword [ebp - 0xd8], 0x1f
movups xmmword [eax], xmm0
mov cx, word [0x5c9cec]
mov word [eax + 0x10], cx
mov byte [eax + 0x12], 0
lea eax, [ebp - 0xec]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x108]
mov ecx, 0x5fd3c4
push eax
call fcn.0040e380
mov eax, dword [eax]
add eax, 0x20
cmp dword [eax + 0x14], 0xf
jbe 0x49c688
mov eax, dword [eax]
mov ecx, dword [ebp - 0xf0]
push 1
push 0xa
push eax
call fcn.00412660
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x49c6d9
mov edx, dword [ebp - 0xec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49c6cf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49dd64
push ecx
push edx
call fcn.005aa4e8
add esp, 8
mov eax, dword [ebp - 0xf0]
cmp byte [eax + 0x189590], 0
je case.0x49d1bc.6
cmp byte [eax + 0x18dacc], 6
jge case.0x49d1bc.6
movzx edi, word [eax + 0x18c148]
test di, di
je 0x49cbb5
movzx ecx, word [eax + 0x18c14a]
test cx, cx
je 0x49cbb5
movsx eax, word [eax + 0x18c130]
mov esi, dword [ebp - 0xf0]
movsx ecx, di
sub eax, ecx
cdq
movzx ecx, word [esi + 0x18c14a]
xor eax, edx
sub eax, edx
movsx ecx, cx
mov dword [ebp - 0xb0], eax
movsx eax, word [esi + 0x18c132]
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp byte [ebp - 0xb0], 0
mov dword [ebp - 0xf4], eax
jne 0x49c765
test al, al
je case.0x49d1bc.6
cmp byte [esi + 0x1895fb], 0
lea eax, [esi + 0x18c17e]
mov ecx, dword [esi + 0x1842ec]
mov edx, edi
push 0
push eax
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0xfc]
push eax
lea eax, [ebp - 0x1c]
push eax
movzx eax, word [esi + 0x18c14a]
push eax
je 0x49c947
call fcn.0056a740
test byte [ebp - 0x114], 0x10
jne case.0x49d1bc.6
mov ax, word [ebp - 0xfc]
cmp ax, 0xf
je case.0x49d1bc.6
cmp ax, 0x14
je case.0x49d1bc.6
cmp ax, 0x18
je case.0x49d1bc.6
cmp ax, 0x43
je case.0x49d1bc.6
cmp ax, 0x44
je case.0x49d1bc.6
cmp ax, 0x45
je case.0x49d1bc.6
cmp ax, 0x42
je 0x49c81b
cmp ax, 0x49
je 0x49c81b
cmp ax, 0x51
je 0x49c81b
cmp ax, 0x5b
je 0x49c81b
sub ax, 0x5c
cmp ax, 4
ja 0x49c822
mov ecx, 1
jmp 0x49c824
xor ecx, ecx
mov ax, word [esi + 0x18c13a]
lea edi, [ecx + 2]
mov edx, 0xff0
and ax, dx
mov edx, 0xf0
cmp ax, dx
cmovne edi, ecx
cmp byte [ebp - 0xb0], 1
jg 0x49c857
cmp byte [ebp - 0xf4], 1
jle 0x49cd43
mov ecx, esi
call fcn.00487c00
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x49caf1.7
movzx eax, byte [eax + 0x49e188]
jmp dword [eax*4 + 0x49e174]
mov eax, dword [ebp - 0xb0]
add edi, 3
movsx eax, al
cmp eax, edi
jg case.0x49caf1.7
mov eax, dword [ebp - 0xf4]
movsx eax, al
cmp eax, edi
jg case.0x49caf1.7
cmp word [esi + 0x18c04c], 0
jle case.0x49caf1.7
cmp byte [esi + 0x18965b], 1
jne case.0x49caf1.7
jmp case.0x49caf1.6
mov eax, dword [ebp - 0xb0]
add edi, 4
movsx eax, al
cmp eax, edi
jg case.0x49caf1.7
mov eax, dword [ebp - 0xf4]
movsx eax, al
cmp eax, edi
jg case.0x49caf1.7
cmp word [esi + 0x18c04c], 0
jle case.0x49caf1.7
cmp byte [esi + 0x18965b], 1
jne case.0x49caf1.7
jmp case.0x49caf1.6
mov eax, dword [ebp - 0xb0]
add edi, 2
movsx eax, al
cmp eax, edi
jg case.0x49caf1.7
mov eax, dword [ebp - 0xf4]
movsx eax, al
cmp eax, edi
jg case.0x49caf1.7
cmp word [esi + 0x18c04c], 0
jle case.0x49caf1.7
cmp byte [esi + 0x18965b], 1
jne case.0x49caf1.7
jmp case.0x49caf1.6
call fcn.0056a740
mov cx, word [ebp - 0xfc]
cmp cx, 0x42
je 0x49c974
cmp cx, 0x49
je 0x49c974
cmp cx, 0x51
je 0x49c974
cmp cx, 0x5b
je 0x49c974
lea eax, [ecx - 0x5c]
cmp ax, 4
ja 0x49c97b
mov edx, 1
jmp 0x49c97d
xor edx, edx
mov ax, word [esi + 0x18c13a]
mov edi, 0xff0
and ax, di
mov dword [ebp - 0x104], 0xf0
cmp ax, word [ebp - 0x104]
lea edi, [edx + 2]
cmovne edi, edx
cmp cx, 0xa
jge 0x49c9b6
lea eax, [ecx - 1]
cmp ax, 5
ja case.0x49caf1.7
movsx eax, cx
add eax, 0xfffffff1
cmp eax, 0x5f
ja case.0x49c9c8.16
movzx eax, byte [eax + 0x49e1a0]
jmp dword [eax*4 + 0x49e198]
push dword [ebp - 0x114]
mov ecx, esi
call fcn.00487b00
mov cx, word [ebp - 0xfc]
mov edx, eax
test edx, edx
jns 0x49ca54
cmp cx, 0xa
jl 0x49c9f9
cmp cx, 0x62
jle 0x49cab0
cmp cx, 0x70
je 0x49cab0
cmp cx, 0x72
jl 0x49ca13
cmp cx, 0x74
jle 0x49cab0
cmp cx, 0x76
je 0x49cab0
cmp cx, 0x78
je 0x49cab0
cmp cx, 0x79
jl 0x49ca33
cmp cx, 0x7d
jle 0x49cab0
lea eax, [ecx - 1]
cmp ax, 5
ja case.0x49caf1.7
cmp byte [esi + 0x1895fb], 0
jne 0x49cab0
cmp byte [esi + 0x18bf72], 0
jne 0x49cab0
test edx, edx
jne 0x49ca81
cmp byte [esi + 0x1895fb], 0
jne 0x49ca6c
cmp byte [esi + 0x18bf73], 0
je case.0x49caf1.7
cmp cx, 0xa
jl case.0x49caf1.7
cmp cx, 0x62
jle 0x49cab0
jmp case.0x49caf1.7
test edx, edx
jle case.0x49caf1.7
cmp cx, 1
jl 0x49ca95
cmp cx, 6
jle 0x49caa3
sub cx, 0x6b
cmp cx, 1
ja case.0x49caf1.7
cmp byte [esi + 0x1895fb], 0
je case.0x49caf1.7
mov eax, dword [ebp - 0xb0]
lea ecx, [edi + 1]
movsx eax, al
mov dword [ebp - 0xf8], eax
cmp eax, ecx
jg 0x49cad7
mov eax, dword [ebp - 0xf4]
movsx eax, al
cmp eax, ecx
jle 0x49cd43
mov ecx, esi
call fcn.00487c00
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x49caf1.7
movzx eax, byte [eax + 0x49e218]
jmp dword [eax*4 + 0x49e200]
add edi, 3
cmp dword [ebp - 0xf8], edi
jg case.0x49caf1.7
mov eax, dword [ebp - 0xf4]
movsx eax, al
cmp eax, edi
jg case.0x49caf1.7
cmp word [esi + 0x18c04c], 0
jle case.0x49caf1.7
cmp byte [esi + 0x18965b], 1
jne case.0x49caf1.7
jmp case.0x49caf1.6
add edi, 4
jmp 0x49cafb
add edi, 2
jmp 0x49cafb
add edi, 2
cmp dword [ebp - 0xf8], edi
jg case.0x49caf1.7
mov eax, dword [ebp - 0xf4]
movsx eax, al
cmp eax, edi
jg case.0x49caf1.7
cmp word [esi + 0x18c04c], 0
jle case.0x49caf1.7
cmp byte [esi + 0x18965b], 1
jne case.0x49caf1.7
movzx eax, word [esi + 0x18c148]
mov ecx, esi
mov word [esi + 0x18c14c], ax
movzx eax, word [esi + 0x18c14a]
mov byte [esi + 0x18d8d2], 3
mov word [esi + 0x18c14e], ax
call fcn.00487810
movzx eax, ax
mov dword [ebp - 0x100], eax
jmp case.0x49caf1.7
push dword [ebp + 0x14]
mov esi, dword [ebp - 0xf0]
push dword [ebp + 0x10]
movzx eax, word [eax + 0x18c132]
push eax
movzx eax, word [esi + 0x18c130]
lea ecx, [esi + 0x14a908]
push eax
call fcn.00586a70
cmp byte [esi + 0x189662], 0
mov byte [ebp - 0xf4], al
je case.default.0x49cbf4
movsx ecx, al
dec ecx
cmp ecx, 7
ja case.default.0x49cbf4
jmp dword [ecx*4 + 0x49e228]
mov al, 5
jmp 0x49cc19
mov al, 6
jmp 0x49cc19
mov al, 7
jmp 0x49cc19
mov al, 8
jmp 0x49cc19
mov al, 1
jmp 0x49cc19
mov al, 2
jmp 0x49cc19
mov al, 3
jmp 0x49cc19
mov al, 4
mov byte [ebp - 0xf4], al
cmp dword [esi + 0x18bfe4], 0
jle case.0x49d1bc.6
test al, al
je case.0x49d1bc.6
cmp byte [esi + 0x18d785], al
je case.0x49d1bc.6
mov ecx, esi
call fcn.00499860
mov al, byte [ebp - 0xf4]
mov ecx, esi
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0xf4]
mov byte [esi + 0x18d785], al
push 0
push 0xfa314d5
call fcn.00493690
movsx ax, byte [esi + 0x18d8d2]
mov ecx, esi
push 0xa
push 0
push 0
push 0
push 0
movzx eax, ax
push eax
lea eax, [esi + 0x18d77a]
push eax
call fcn.00565e40
movd xmm1, dword [esi + 0x18bfe4]
cvtdq2pd xmm1, xmm1
mov dx, word [esi + 0x18c134]
mov ecx, dword [esi + 0x1842ec]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
mulsd xmm1, qword [0x5cd5b8]
cvttsd2si eax, xmm1
movzx eax, ax
push eax
mov eax, dword [esi + 0x18c144]
push dword [eax]
mov eax, dword [esi + 0x18c140]
push dword [eax]
movzx eax, word [esi + 0x18c13e]
push dword [esi + 0x18bfe0]
push dword [esi + 0x18bfdc]
push eax
movzx eax, word [esi + 0x18c13c]
push eax
movzx eax, word [esi + 0x18c13a]
push eax
movzx eax, word [esi + 0x18c138]
push eax
movsx eax, byte [esi + 0x18d785]
push eax
movsx eax, word [esi + 0x18c136]
push eax
movsx eax, word [esi + 0x18c132]
push eax
movsx eax, word [esi + 0x18c130]
push eax
call fcn.0056b450
mov byte [esi + 0x189590], 0
call dword [ebp - 0x118]
mov dword [esi + 0x1892f4], eax
jmp case.0x49d1bc.6
mov ecx, esi
call fcn.00487810
movzx ecx, ax
movzx eax, word [esi + 0x18c148]
mov word [esi + 0x18c14c], ax
movzx eax, word [esi + 0x18c14a]
mov byte [esi + 0x18d8d2], 3
mov dword [ebp - 0x100], ecx
mov word [esi + 0x18c14e], ax
mov eax, esi
cmp byte [eax + 0x18965c], 0
jne case.0x49d1bc.6
cmp byte [eax + 0x18d8d2], 0
je case.0x49d1bc.6
cmp dword [eax + 0x18bfe4], 0
jle case.0x49d1bc.6
cmp byte [eax + 0x18dacc], 5
jne 0x49cea5
xorps xmm0, xmm0
mov dword [ebp - 0xc4], 0
push 0x20
movups xmmword [ebp - 0xd4], xmm0
mov dword [ebp - 0xc0], 0
call fcn.005aa520
movups xmm0, xmmword [str.COMMAND_PROCESSOR2]
mov dword [ebp - 0xd4], eax
add esp, 4
mov dword [ebp - 0xc4], 0x12
mov dword [ebp - 0xc0], 0x1f
movups xmmword [eax], xmm0
mov dx, word [0x5cff28]
mov word [eax + 0x10], dx
mov byte [eax + 0x12], 0
lea eax, [ebp - 0xd4]
mov dword [ebp - 4], 1
push eax
lea eax, [ebp - 0xb4]
mov ecx, 0x5fd3c4
push eax
call fcn.0040e380
mov eax, dword [eax]
add eax, 0x20
cmp dword [eax + 0x14], 0xf
jbe 0x49ce33
mov eax, dword [eax]
mov ecx, dword [ebp - 0xf0]
push 0
push 0xa
push eax
call fcn.00412660
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x49ce84
mov edx, dword [ebp - 0xd4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49ce7a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49dd69
push ecx
push edx
call fcn.005aa4e8
add esp, 8
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0xf
mov byte [ebp - 0xd4], 0
cmp byte [eax + 0x189590], 0
je case.0x49d1bc.6
cmp byte [eax + 0x18dacc], 6
jge case.0x49d1bc.6
movzx ecx, word [eax + 0x18c136]
test cx, cx
js 0x49ceee
cmp cx, 6
jle 0x49ceee
movsx ecx, byte [eax + 0x18d8d2]
sub ecx, 2
je 0x49cee7
sub ecx, 2
je 0x49cee7
sub ecx, 1
jne 0x49ceee
mov byte [eax + 0x18d8d2], 0
mov ecx, eax
call fcn.00499860
mov edi, dword [ebp - 0xf0]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
movzx eax, word [edi + 0x18c158]
test ax, ax
je 0x49d1ab
movzx ecx, word [edi + 0x18c130]
movzx edx, word [edi + 0x18c132]
cwde
dec eax
mov byte [edi + 0x18d8d2], 7
mov word [edi + 0x18c14c], cx
mov word [edi + 0x18c14e], dx
cmp eax, 7
ja case.default.0x49cf3b
jmp dword [eax*4 + 0x49e248]
lea eax, [ecx + 1]
jmp 0x49cf80
lea eax, [ecx + 1]
mov word [edi + 0x18c14c], ax
jmp case.default.0x49cf3b
lea eax, [ecx + 1]
mov word [edi + 0x18c14c], ax
lea eax, [edx + 1]
jmp 0x49cf8a
lea eax, [ecx - 1]
mov word [edi + 0x18c14c], ax
lea eax, [edx + 1]
jmp 0x49cf8a
lea eax, [ecx - 1]
mov word [edi + 0x18c14c], ax
jmp case.default.0x49cf3b
lea eax, [ecx - 1]
mov word [edi + 0x18c14c], ax
lea eax, [edx - 1]
mov word [edi + 0x18c14e], ax
mov eax, 1
lea ecx, [edi + 0x18430c]
mov dword [ebp - 0x110], eax
cmp dword [ecx], 0
je 0x49cfbd
inc eax
add ecx, 4
mov dword [ebp - 0x110], eax
cmp eax, 0x1f4
jl 0x49cfa2
jmp 0x49d1a3
push 0x78
lea eax, [ebp - 0x94]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
movzx eax, word [edi + 0x18c15a]
add esp, 0xc
cmp byte [edi + 0x18c15c], 0
mov ecx, eax
je 0x49d07d
mov edx, 0xffffff06
cmp ax, dx
jge 0x49d005
push str.Critical_
lea eax, [ebp - 0x94]
push 0x78
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strcpy_s
jmp 0x49d023
movsx ecx, cx
test ax, ax
push ecx
lea eax, [ebp - 0x94]
jns 0x49d01b
push 0x5c7530
jmp 0x49d020
push str._dPts
push eax
call esi
movzx ecx, word [edi + 0x18c15a]
add esp, 0xc
cmp cx, 0xffd8
jg 0x49d03d
mov esi, 0x1a
jmp 0x49d107
cmp cx, 0xfff4
jg 0x49d04d
mov esi, 0x19
jmp 0x49d107
test cx, cx
jg 0x49d05c
mov esi, 0x18
jmp 0x49d107
cmp cx, 0xc
jge 0x49d06c
mov esi, 0x1e
jmp 0x49d107
xor eax, eax
cmp cx, 0x28
setge al
add eax, 0x1f
jmp 0x49d0ff
cmp ax, 0xff80
jge 0x49d098
push str.Critical_
lea eax, [ebp - 0x94]
push 0x78
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strcpy_s
jmp 0x49d0b6
movsx ecx, cx
test ax, ax
push ecx
lea eax, [ebp - 0x94]
jns 0x49d0ae
push 0x5c7530
jmp 0x49d0b3
push str._dPts
push eax
call esi
movzx ecx, word [edi + 0x18c15a]
add esp, 0xc
cmp cx, 0xffd8
jg 0x49d0cd
mov esi, 0x17
jmp 0x49d107
cmp cx, 0xfff4
jg 0x49d0da
mov esi, 0x16
jmp 0x49d107
test cx, cx
jg 0x49d0e6
mov esi, 0x15
jmp 0x49d107
cmp cx, 0xc
jge 0x49d0f3
mov esi, 0x1b
jmp 0x49d107
xor eax, eax
cmp cx, 0x28
setge al
add eax, 0x1c
mov dword [ebp - 0xf8], eax
mov esi, eax
push 0x1c
call fcn.005aa520
add esp, 4
mov dword [ebp - 0x104], eax
mov dword [ebp - 4], 2
test eax, eax
je 0x49d13b
push dword [edi + 0x189300]
lea ecx, [ebp - 0x94]
push ecx
push esi
mov ecx, eax
call fcn.00586d00
mov ecx, eax
jmp 0x49d13d
xor ecx, ecx
mov esi, dword [ebp - 0x110]
push esi
push 0xfffffffffffffff6
push 0xfffffffffffffff6
mov dword [edi + esi*4 + 0x184308], ecx
movsx eax, word [edi + 0x18c134]
mov dword [ecx + 0x14], eax
mov eax, dword [edi + esi*4 + 0x184308]
movsx ecx, word [edi + 0x18c15a]
mov dword [ebp - 4], 0xffffffff
mov dword [eax + 0x18], ecx
mov dx, word [edi + 0x18c134]
mov ecx, dword [edi + 0x1842ec]
call fcn.0056a9d0
test al, al
jne 0x49d1a3
mov ecx, dword [edi + esi*4 + 0x184308]
test ecx, ecx
je 0x49d198
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [edi + esi*4 + 0x184308], 0
xor eax, eax
mov dword [edi + 0x18c158], eax
movsx eax, byte [edi + 0x18d8d2]
dec eax
cmp eax, 7
ja case.0x49d1bc.6
jmp dword [eax*4 + 0x49e268]
mov dx, word [edi + 0x18c14c]
lea eax, [edi + 0x18c17e]
mov ecx, dword [edi + 0x1842ec]
push 0
push eax
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0xac]
push eax
movzx eax, word [edi + 0x18c14e]
push eax
call fcn.0056a740
cmp byte [edi + 0x18bf74], 0
mov byte [ebp - 0x109], al
jne 0x49d506
cmp byte [edi + 0x18bf75], 0
jne 0x49d506
movzx ecx, word [edi + 0x18c130]
movzx edx, word [edi + 0x18c14c]
cmp cx, dx
jne 0x49d249
mov ax, word [edi + 0x18c132]
cmp ax, word [edi + 0x18c14e]
je 0x49d506
movsx esi, dx
movsx eax, cx
sub eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, 1
jg 0x49d295
movsx eax, word [edi + 0x18c132]
movsx ecx, word [edi + 0x18c14e]
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 1
jg 0x49d29a
cmp byte [ebp - 0x109], 1
jne 0x49d29a
cmp word [ebp - 0x11c], 0
jne 0x49d506
movsx ecx, word [edi + 0x18c14e]
jmp 0x49d2b4
cmp eax, 2
jg 0x49d2d3
movsx ecx, word [edi + 0x18c14e]
movsx eax, word [edi + 0x18c132]
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg 0x49d2d3
imul eax, esi, 0x226
add eax, 0x6e10
add ecx, eax
mov eax, dword [edi + 0x1842ec]
add ecx, ecx
cmp byte [eax + ecx*8], 0
je 0x49d506
mov cl, byte [edi + 0x18d8d2]
cmp cl, 1
jne 0x49d2f9
cmp byte [edi + 0x1895fc], 0
jne 0x49d2f0
cmp byte [edi + 0x1895fd], 0
je 0x49d2f9
mov byte [edi + 0x18d8d2], 2
jmp 0x49d2fe
cmp cl, 2
jne 0x49d345
cmp byte [edi + 0x1895fc], 0
mov cl, 2
jne 0x49d31b
cmp byte [edi + 0x1895fd], 0
jne 0x49d31b
mov byte [edi + 0x18d8d2], 1
mov cl, 1
cmp dword [edi + 0x18bfec], 1
jg 0x49d32d
mov byte [edi + 0x18d8d2], 1
mov cl, 1
mov eax, dword [edi + 0x13f198]
cmp byte [eax + 0xb8], 0
jne 0x49d345
mov byte [edi + 0x18d8d2], 1
jmp 0x49d34a
cmp cl, 1
jne 0x49d35d
mov eax, dword [edi + 0x13f198]
cmp byte [eax + 0xb7], 0
je 0x49da2c
movzx eax, word [edi + 0x18c14e]
mov ecx, edi
push 1
push eax
movzx eax, word [edi + 0x18c14c]
push eax
movzx eax, word [edi + 0x18c132]
push eax
movzx eax, word [edi + 0x18c130]
push eax
call fcn.00494770
mov byte [ebp - 0xf4], al
test al, al
je 0x49d50d
push 0
push 0
push 0
push 0
mov byte [edi + 0x18d785], al
mov ecx, edi
movsx ax, byte [edi + 0x18d8d2]
push 0
push dword [ebp - 0xf4]
movzx eax, ax
push eax
push 0xfa314d5
call fcn.00493690
movsx eax, byte [ebp - 0xf4]
dec eax
cmp eax, 7
ja case.default.0x49d3cf
jmp dword [eax*4 + 0x49e288]
dec word [edi + 0x18c132]
inc word [edi + 0x18c130]
jmp case.default.0x49d3cf
inc word [edi + 0x18c130]
inc word [edi + 0x18c132]
jmp case.default.0x49d3cf
dec word [edi + 0x18c130]
inc word [edi + 0x18c132]
jmp case.default.0x49d3cf
dec word [edi + 0x18c130]
jmp case.default.0x49d3cf
dec word [edi + 0x18c130]
dec word [edi + 0x18c132]
movsx ax, byte [edi + 0x18d8d2]
mov ecx, edi
push 0
push 0
push 0
push 0
push 0
movzx eax, ax
push eax
lea eax, [edi + 0x18d77a]
push eax
call fcn.00565e40
movd xmm1, dword [edi + 0x18bfe4]
cvtdq2pd xmm1, xmm1
mov dx, word [edi + 0x18c134]
mov ecx, dword [edi + 0x1842ec]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
mulsd xmm1, qword [0x5cd5b8]
cvttsd2si eax, xmm1
movzx eax, ax
push eax
mov eax, dword [edi + 0x18c144]
push dword [eax]
mov eax, dword [edi + 0x18c140]
push dword [eax]
movzx eax, word [edi + 0x18c13e]
push dword [edi + 0x18bfe0]
push dword [edi + 0x18bfdc]
push eax
movzx eax, word [edi + 0x18c13c]
push eax
movzx eax, word [edi + 0x18c13a]
push eax
movzx eax, word [edi + 0x18c138]
push eax
movsx eax, byte [edi + 0x18d785]
push eax
movsx eax, word [edi + 0x18c136]
push eax
movsx eax, word [edi + 0x18c132]
push eax
movsx eax, word [edi + 0x18c130]
push eax
call fcn.0056b450
mov byte [edi + 0x189590], 0
call dword [ebp - 0x118]
mov dword [edi + 0x1892f4], eax
movsx eax, word [edi + 0x18c130]
mov dword [edi + 0x18c0a0], eax
movsx eax, word [edi + 0x18c132]
mov dword [edi + 0x18c0a4], eax
jmp 0x49d50d
mov byte [edi + 0x18d8d2], 0
cmp byte [edi + 0x18d8d2], 7
jne case.0x49d1bc.6
mov byte [edi + 0x1895f8], 0
xor eax, eax
mov dword [edi + 0x18c038], 0xffffffff
mov ecx, edi
mov word [edi + 0x13ffc4], ax
call fcn.00499860
mov byte [edi + 0x18d8d2], 0
jmp case.0x49d1bc.6
cmp byte [edi + 0x18bf75], 0
jne 0x49da2c
cmp byte [edi + 0x189663], 0
jne 0x49da2c
movzx eax, word [edi + 0x18c14e]
lea ecx, [edi + 0x14a908]
push eax
movzx eax, word [edi + 0x18c14c]
push eax
movzx eax, word [edi + 0x18c132]
push eax
movzx eax, word [edi + 0x18c130]
push eax
call fcn.00586a70
cmp byte [edi + 0x189662], 0
mov byte [ebp - 0xf4], al
je case.default.0x49d5a4
movsx ecx, al
dec ecx
cmp ecx, 7
ja case.default.0x49d5a4
jmp dword [ecx*4 + 0x49e2a8]
mov byte [ebp - 0xf4], 5
jmp 0x49d5fb
mov byte [ebp - 0xf4], 6
jmp 0x49d5fb
mov byte [ebp - 0xf4], 7
jmp 0x49d5fb
mov byte [ebp - 0xf4], 8
jmp 0x49d5fb
mov byte [ebp - 0xf4], 1
jmp 0x49d5fb
mov byte [ebp - 0xf4], 2
jmp 0x49d5fb
mov byte [ebp - 0xf4], 3
jmp 0x49d5fb
mov byte [ebp - 0xf4], 4
jmp 0x49d5fb
test al, al
je 0x49da2c
mov esi, dword [ebp - 0x100]
cmp si, 2
je 0x49d60d
cmp si, 0x19
jne 0x49d624
push 6
mov ecx, edi
call fcn.00484e10
test al, al
jne 0x49d624
xor esi, esi
mov dword [ebp - 0x100], esi
jmp 0x49d63d
cmp si, 0x14
jb 0x49d63d
sub word [edi + 0x18c04c], 1
jns 0x49d63d
xor eax, eax
mov word [edi + 0x18c04c], ax
mov al, byte [ebp - 0xf4]
mov ecx, edi
mov byte [edi + 0x18d785], al
movzx eax, word [edi + 0x18c17e]
push eax
push 0
movzx eax, si
push eax
movsx eax, word [edi + 0x18c14e]
push eax
movsx eax, word [edi + 0x18c14c]
push eax
push dword [ebp - 0xf4]
push 3
push 0xfa314d5
call fcn.00493690
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x100]
movzx esi, word [edi + 0x18c132]
movzx edi, word [edi + 0x18c130]
push 0
push 0
push eax
movzx eax, word [ecx + 0x18c14e]
sub ax, si
movzx eax, ax
push eax
movzx eax, word [ecx + 0x18c14c]
sub ax, di
movzx eax, ax
push eax
push 3
lea eax, [ecx + 0x18d77a]
push eax
call fcn.00565e40
mov ecx, dword [ebp - 0xf0]
movd xmm0, eax
movd xmm1, dword [ecx + 0x18bfe4]
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
mulsd xmm1, qword [0x5cd5b8]
cvttsd2si eax, xmm1
movzx eax, ax
push eax
mov eax, dword [ecx + 0x18c144]
push dword [eax]
mov eax, dword [ecx + 0x18c140]
push dword [eax]
movzx eax, word [ecx + 0x18c13e]
push dword [ecx + 0x18bfe0]
push dword [ecx + 0x18bfdc]
push eax
movzx eax, word [ecx + 0x18c13c]
push eax
movzx eax, word [ecx + 0x18c13a]
push eax
movzx eax, word [ecx + 0x18c138]
push eax
movsx eax, byte [ecx + 0x18d785]
push eax
movsx eax, word [ecx + 0x18c136]
push eax
movsx eax, si
push eax
movsx eax, di
mov edi, ecx
push eax
mov dx, word [edi + 0x18c134]
mov ecx, dword [edi + 0x1842ec]
call fcn.0056b450
mov byte [edi + 0x189590], 0
call dword [ebp - 0x118]
mov dword [edi + 0x1892f4], eax
mov byte [edi + 0x18d8d2], 0
jmp case.0x49d1bc.6
mov dx, word [edi + 0x18c14c]
lea eax, [edi + 0x18c17e]
mov ecx, dword [edi + 0x1842ec]
push 0
push eax
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0xac]
push eax
movzx eax, word [edi + 0x18c14e]
push eax
call fcn.0056a740
cmp byte [edi + 0x18bf74], 0
mov byte [ebp - 0x109], al
jne 0x49da2c
cmp byte [edi + 0x18bf75], 0
jne 0x49da2c
cmp byte [edi + 0x189663], 0
jne 0x49da2c
movzx esi, word [edi + 0x18c130]
movzx ecx, word [edi + 0x18c14c]
cmp si, cx
jne 0x49d80c
mov ax, word [edi + 0x18c132]
cmp ax, word [edi + 0x18c14e]
je 0x49da2c
movsx ecx, cx
movsx eax, si
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 1
jg 0x49d84f
movsx eax, word [edi + 0x18c132]
movsx ecx, word [edi + 0x18c14e]
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 1
jg 0x49d84f
cmp byte [ebp - 0x109], 1
jne 0x49d84f
cmp word [ebp - 0x11c], 0
jne 0x49da2c
movzx eax, word [edi + 0x18c14e]
mov ecx, edi
push 1
push eax
movzx eax, word [edi + 0x18c14c]
push eax
movzx eax, word [edi + 0x18c132]
push eax
push esi
call fcn.00494770
mov byte [ebp - 0xf4], al
test al, al
je 0x49da2c
movzx ecx, word [edi + 0x18c17e]
push ecx
mov byte [edi + 0x18d785], al
mov ecx, edi
mov eax, dword [ebp - 0x100]
push 0
movzx eax, ax
push eax
movsx eax, word [edi + 0x18c14e]
push eax
movsx eax, word [edi + 0x18c14c]
push eax
push dword [ebp - 0xf4]
push 8
push 0xfa314d5
call fcn.00493690
movsx eax, byte [ebp - 0xf4]
dec eax
cmp eax, 7
ja case.default.0x49d8ca
jmp dword [eax*4 + 0x49e2c8]
dec word [edi + 0x18c132]
inc word [edi + 0x18c130]
jmp case.default.0x49d8ca
inc word [edi + 0x18c130]
inc word [edi + 0x18c132]
jmp case.default.0x49d8ca
dec word [edi + 0x18c130]
inc word [edi + 0x18c132]
jmp case.default.0x49d8ca
dec word [edi + 0x18c130]
jmp case.default.0x49d8ca
dec word [edi + 0x18c130]
dec word [edi + 0x18c132]
mov ecx, dword [ebp - 0xf0]
movzx esi, word [edi + 0x18c132]
movzx edi, word [edi + 0x18c130]
push 0
movzx eax, word [ecx + 0x18c14e]
sub ax, si
push 0
push dword [ebp - 0x100]
movzx eax, ax
push eax
movzx eax, word [ecx + 0x18c14c]
sub ax, di
movzx eax, ax
push eax
movsx eax, byte [ecx + 0x18d8d2]
movzx eax, ax
push eax
lea eax, [ecx + 0x18d77a]
push eax
call fcn.00565e40
mov ecx, dword [ebp - 0xf0]
movd xmm0, eax
movd xmm1, dword [ecx + 0x18bfe4]
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
mulsd xmm1, qword [0x5cd5b8]
cvttsd2si eax, xmm1
movzx eax, ax
push eax
mov eax, dword [ecx + 0x18c144]
push dword [eax]
mov eax, dword [ecx + 0x18c140]
push dword [eax]
movzx eax, word [ecx + 0x18c13e]
push dword [ecx + 0x18bfe0]
push dword [ecx + 0x18bfdc]
push eax
movzx eax, word [ecx + 0x18c13c]
push eax
movzx eax, word [ecx + 0x18c13a]
push eax
movzx eax, word [ecx + 0x18c138]
push eax
movsx eax, byte [ecx + 0x18d785]
push eax
movsx eax, word [ecx + 0x18c136]
push eax
movsx eax, si
push eax
movsx eax, di
mov edi, ecx
push eax
mov dx, word [edi + 0x18c134]
mov ecx, dword [edi + 0x1842ec]
call fcn.0056b450
mov byte [edi + 0x189590], 0
call dword [ebp - 0x118]
mov dword [edi + 0x1892f4], eax
movsx eax, word [edi + 0x18c130]
mov dword [edi + 0x18c0a0], eax
movsx eax, word [edi + 0x18c132]
mov dword [edi + 0x18c0a4], eax
mov byte [edi + 0x18d8d2], 0
jmp case.0x49d1bc.6
movzx eax, byte [edi + 0x18d785]
mov ecx, edi
push 0
push 0
push 0
push 0
push 0
push eax
push 5
push 0xfa314d5
call fcn.00493690
push 0
push 0
push 0
push 0
push 0
push 5
lea eax, [edi + 0x18d77a]
mov ecx, edi
push eax
call fcn.00565e40
movd xmm1, dword [edi + 0x18bfe4]
cvtdq2pd xmm1, xmm1
mov dx, word [edi + 0x18c134]
mov ecx, dword [edi + 0x1842ec]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
mulsd xmm1, qword [0x5cd5b8]
cvttsd2si eax, xmm1
movzx eax, ax
push eax
mov eax, dword [edi + 0x18c144]
push dword [eax]
mov eax, dword [edi + 0x18c140]
push dword [eax]
movzx eax, word [edi + 0x18c13e]
push dword [edi + 0x18bfe0]
push dword [edi + 0x18bfdc]
push eax
movzx eax, word [edi + 0x18c13c]
push eax
movzx eax, word [edi + 0x18c13a]
push eax
movzx eax, word [edi + 0x18c138]
push eax
movsx eax, byte [edi + 0x18d785]
push eax
movsx eax, word [edi + 0x18c136]
push eax
movsx eax, word [edi + 0x18c132]
push eax
movsx eax, word [edi + 0x18c130]
push eax
call fcn.0056b450
mov byte [edi + 0x189590], 0
mov byte [edi + 0x18d8d2], 0
jmp case.0x49d1bc.6
cmp dword [edi + 0x18c154], 0xc
jne 0x49db2b
mov ecx, edi
call fcn.0047c950
movzx eax, byte [edi + 0x18d785]
mov ecx, edi
push 0
push 0
push 0
push 0
push dword [edi + 0x18c154]
push eax
push 4
push 0xfa314d5
call fcn.00493690
movzx eax, word [edi + 0x18c154]
mov ecx, edi
push 0
push 0
push 0
push 0
push eax
push 4
lea eax, [edi + 0x18d77a]
push eax
call fcn.00565e40
movd xmm1, dword [edi + 0x18bfe4]
cvtdq2pd xmm1, xmm1
mov dx, word [edi + 0x18c134]
mov ecx, dword [edi + 0x1842ec]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
mulsd xmm1, qword [0x5cd5b8]
cvttsd2si eax, xmm1
movzx eax, ax
push eax
mov eax, dword [edi + 0x18c144]
push dword [eax]
mov eax, dword [edi + 0x18c140]
push dword [eax]
movzx eax, word [edi + 0x18c13e]
push dword [edi + 0x18bfe0]
push dword [edi + 0x18bfdc]
push eax
movzx eax, word [edi + 0x18c13c]
push eax
movzx eax, word [edi + 0x18c13a]
push eax
movzx eax, word [edi + 0x18c138]
push eax
movsx eax, byte [edi + 0x18d785]
push eax
movsx eax, word [edi + 0x18c136]
push eax
movsx eax, word [edi + 0x18c132]
push eax
movsx eax, word [edi + 0x18c130]
push eax
call fcn.0056b450
mov byte [edi + 0x189590], 0
call dword [ebp - 0x118]
mov dword [edi + 0x1892f4], eax
mov ecx, edi
mov byte [edi + 0x1895f8], 1
mov byte [edi + 0x18d8d2], 0
movsx eax, word [edi + 0x18c134]
push eax
call fcn.00481de0
lea eax, [edi + 0x18430c]
mov esi, 1
mov dword [ebp - 0xf8], eax
cmp dword [eax], 0
je 0x49dc62
inc esi
add eax, 4
mov dword [ebp - 0xf8], eax
cmp esi, 0x1f4
jl 0x49dc46
jmp case.0x49d1bc.6
push 0x78
lea eax, [ebp - 0x94]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [edi + 0x18c154]
mov eax, dword [edi + eax*4 + 0x185834]
add eax, 4
push eax
lea eax, [ebp - 0x94]
push 0x5c7510
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
cmp byte [edi + 0x18bf8e], 0
push 0x1c
je 0x49dcdd
call fcn.005aa520
add esp, 4
mov dword [ebp - 0x104], eax
mov dword [ebp - 4], 3
test eax, eax
je 0x49dcd9
call dword [ebp - 0x118]
mov ecx, dword [ebp - 0x104]
push eax
lea eax, [ebp - 0x94]
push eax
push 0x2d
call fcn.00586d00
jmp 0x49dd15
xor ecx, ecx
jmp 0x49dd17
call fcn.005aa520
add esp, 4
mov dword [ebp - 0x104], eax
mov dword [ebp - 4], 4
test eax, eax
je 0x49dd13
call dword [ebp - 0x118]
mov ecx, dword [ebp - 0x104]
push eax
lea eax, [ebp - 0x94]
push eax
push 0x29
call fcn.00586d00
jmp 0x49dd15
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 4], 0xffffffff
push esi
push 0xfffffffffffffff6
mov dword [eax], ecx
movsx eax, word [edi + 0x18c134]
mov dword [ecx + 0x14], eax
mov dx, word [edi + 0x18c134]
mov ecx, dword [edi + 0x1842ec]
push 0xfffffffffffffff6
call fcn.0056a9d0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005aa550
mov esp, ebp
pop ebp
ret 0x18
call fcn.005ac169
call fcn.005ac169
nop
in eax, dx
popfd
dec ecx
add byte [ecx], ah
lahf
dec ecx
add byte [edi], dh
lahf
dec ecx
add byte [ebp - 0x45ffb65f], ah
mov al, byte [0xa1370049]
dec ecx
add byte [eax - 0x4ffb660], ch
mov al, byte [0xa1690049]
dec ecx
add byte [edi - 0x23], al
dec ecx
add byte [eax], al
add eax, 0x5050505
add dword [83887365], eax
add eax, 84215045
add eax, 84215045
add al, byte [edx]
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 83887365
add eax, 84083973
add eax, 33686789
add al, 5
add cl, byte [edi]
pop ds
add byte [edx], ah
mov eax, dword [0xdd470049]
dec ecx
add byte [eax], al
add dword [eax], eax
add dword [ecx], eax
add byte [ecx], al
add byte [ecx], al
add byte [ecx], al
add byte [ecx], al
add byte [ecx], al
add byte [edx + 1191201185], dl
fisttp qword [ecx]
add byte [ecx], al
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [eax], eax
add dword [ecx], eax
add byte [ecx], al
add byte [ecx], al
add dword [eax], eax
add dword [eax], eax
add dword [eax], eax
add dword [eax], eax
add dword [eax], eax
add dword [eax], eax
add dword [eax], eax
add dword [eax], eax
add dword [eax], eax
add dword [eax], eax
add dword [eax], eax
add dword [eax], eax
add dword [eax], eax
add dword [eax], eax
add dword [eax], eax
add dword [eax], eax
add dword [eax], eax
add dword [eax], eax
fisub word [ebx - 1542913975]
dec ecx
add byte [esp], dh
dec ecx
add byte [edi - 0x5c], bl
dec ecx
add byte [ebp - 0x5c], dh
dec ecx
add byte [eax - 0x37ffb65c], ah
movsb byte es:[edi], byte [esi]
dec ecx
add al, dh
movsb byte es:[edi], byte [esi]
dec ecx
add byte [edx], bl
movsd dword es:[edi], dword [esi]
dec ecx
add byte [eax], al
or byte [ecx], al
or byte [eax], cl
add cl, byte [eax]
add ecx, dword [eax]
add al, 8
add eax, 117966344
test byte [esi - 1498349495], ah
dec ecx
add ah, bl
cmpsb byte [esi], byte es:[edi]
dec ecx
add byte [edi], al
cmpsd dword [esi], dword es:[edi]
dec ecx
add byte [edx], dh
cmpsd dword [esi], dword es:[edi]
dec ecx
add byte [ebp - 0x59], bl
dec ecx
add byte [eax - 0x4cffb659], cl
cmpsd dword [esi], dword es:[edi]
dec ecx
add bl, bl
cmpsd dword [esi], dword es:[edi]
dec ecx
add byte [0x2f0049a8], al
test al, 0x49
add byte [eax], al
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
add dword [edx], ecx
or al, byte [edx]
or al, byte [ebx]
or cl, byte [edx]
add al, 10
add eax, 118097418
or cl, byte [eax]
or cl, byte [ecx]
or al, byte [edx + ecx]
add eax, 118097418
or cl, byte [eax]
or cl, byte [ecx]
or al, byte [edx + ecx]
add eax, 118097418
or cl, byte [eax]
or cl, byte [ecx]
lea ebp, [ecx - 1445855159]
dec ecx
add byte [0x580049aa], dl
stosb byte es:[edi], al
dec ecx
add byte [eax - 0x5e], dh
dec ecx
add byte [eax], al
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add dword [esp + eax], eax
add al, byte [ebx + eax]
nop
add eax, 0x2a0049ad
ror byte [ecx], 0
add dword [ecx], eax
add dword [eax], eax
add byte [ecx], al
add dword [ecx], eax
add byte [eax], al
add byte [ecx], al
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [eax], eax
add byte [eax], al
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add byte [ecx], al
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add dword [eax], eax
add byte [ecx], al
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [eax], eax
nop
jno 0x49e008
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add byte [eax], al
add byte [ecx], al
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [eax], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [ecx], eax
add byte [eax], al
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add byte [eax + case.0x49ae6a.15], dl
and ebp, dword [edi - 1343553463]
dec ecx
add byte [ebx], ah
scasd eax, dword es:[edi]
dec ecx
add bl, ch
scasd eax, dword es:[edi]
dec ecx
add byte [ebx + esi*4 + 0x49], cl
add ah, cl
mov al, 0x49
add byte [ecx + 0x670049b1], dh
mov dl, 0x49
add byte [edi], ah
mov ah, 0x49
add ch, bl
mov ah, 0x49
add byte [edx - 0x4a], dh
dec ecx
add byte [esi], ch
mov bh, 0x49
add ah, ch
mov bh, 0x49
add bh, al
mov eax, 0xb9830049
dec ecx
add byte [ebp - 0x46], dl
dec ecx
add ah, dh
mov ah, 0x49
add byte [eax], al
invalid