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

Disassembly:
add dword [eax], eax
add cl, ch
cmp al, byte [ecx]
add byte [eax], al
or edi, ebx
je 0x411130
push 0x1c77
push 0x4f454e
push 0x4f6bb8
mov edi, ecx
call fcn.004adb0b
mov ecx, edi
mov edx, dword [esp + 0x4c]
add esp, 0xc
cmp dword [edx + 0x148], 3
jl case.default.0x410e88
cmp ebp, dword [edx + 0x154]
jne 0x411154
mov eax, dword [esp]
cmp eax, dword [edx + 0x158]
je case.default.0x410e88
mov dword [edx + 0x154], ebp
mov dword [edx + 0x158], esi
or ecx, 0x20
jmp 0x411247
add al, 0
add byte [ebx + 0x19eb20c9], al
cmp byte [edx + 0x14c], 0
mov eax, 3
cmove ecx, eax
mov dword [edx + 0x150], 0
mov eax, ecx
add ecx, 4
cmp byte [esp + 0x58], 0
cmove ecx, eax
lea eax, [ecx + 0x10]
cmp byte [esp + 0x5c], 0
cmove eax, ecx
mov edi, edx
lea edx, [esi + 1]
lea ecx, [ebp + 1]
cmp byte [edi + 0x14c], 0
je 0x41129b
xor ebx, ebx
cmp dword [esp + 0x4c], 5
sete bl
shl ebx, 5
or ebx, 0x4d
lea esi, [esp + 8]
push ebx
push edx
push ecx
push eax
push 0x4e7c9d
push esi
call fcn.00401008
add esp, 0x18
jmp 0x41136d
cmp byte [edi + 0x14d], 0
je 0x411337
add eax, 0x20
lea esi, [esp + 8]
push edx
push ecx
push eax
push 0x4e8abb
push esi
jmp 0x411365
cmp ebp, 0xde
jg case.default.0x410e88
cmp esi, 0xde
jg case.default.0x410e88
add esi, 0x21
add ebp, 0x21
add eax, 0x20
lea ecx, [esp + 8]
push esi
push ebp
push eax
push 0x4e7cb4
push ecx
call fcn.00401008
add esp, 0x14
test eax, eax
mov edx, dword [esp + 0x40]
jle case.default.0x410e88
lea ecx, [esp + 8]
push 0
push eax
push ecx
push dword [edx + 0x1060]
call fcn.0041c608
add esp, 0x10
jmp case.default.0x410e88
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0049e348
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
push ebx
push edi
push esi
sub esp, 0xe0
mov dword [esp + 0x40], edx
mov eax, dword [0x500034]
xor eax, esp
mov dword [esp + 0xdc], eax
cmp dword [ecx + 0xe28], 2
je 0x4153af
mov esi, ecx
lea eax, [ecx + 0x80]
mov dword [esp + 0x28], eax
lea eax, [ecx + 0xec]
mov dword [esp + 0x30], eax
lea eax, [ecx + 0xe24]
mov dword [esp], eax
lea eax, [ecx + 0xd8]
mov dword [esp + 0x44], eax
lea eax, [ecx + 0xe34]
mov dword [esp + 0x18], eax
lea eax, [ecx + 0x28]
mov dword [esp + 0x3c], eax
lea eax, [ecx + 0x6c]
mov dword [esp + 0xc], eax
lea eax, [ecx + 0x40]
mov dword [esp + 4], eax
lea eax, [ecx + 0x58]
mov dword [esp + 0x14], eax
lea eax, [ecx + 0xa1e]
mov dword [esp + 0x2c], eax
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x34], 0
jmp 0x412122
mov dword [esi + 0xe8], 0
mov ebx, 0xffffffff
cmp ebp, edi
jb 0x412144
cmp ebx, 0xffffffff
jne 0x412144
push dword [esp + 0x28]
call fcn.0042c238
add esp, 4
test eax, eax
je 0x415310
cmp ebx, 0xffffffff
je 0x412158
mov dword [esp + 0x48], ebx
jmp 0x412228
cmp dword [esi + 0x20dc], 0
jne 0x415310
cmp ebp, edi
jne 0x4121e8
push edi
mov ebp, dword [esp + 0x2c]
push ebp
call fcn.0043eba8
add esp, 8
push ebp
call fcn.0042c238
add esp, 4
test eax, eax
je 0x4153c8
push ebp
call fcn.0043ec38
add esp, 4
mov ebp, edx
mov dword [esp + 0x34], eax
test eax, eax
je 0x4121a3
test ebp, ebp
je 0x4121be
xor edi, edi
jmp 0x4121e8
push 0xec7
push 0x4f454e
push 0x4f691e
call fcn.004adb0b
add esp, 0xc
test ebp, ebp
jne 0x41219f
push 0xec8
push 0x4f454e
push 0x4f1ae6
call fcn.004adb0b
add esp, 0xc
xor edi, edi
xor ebp, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x34]
movzx eax, byte [eax + edi]
add edi, 1
mov dword [esp + 0x48], eax
cmp dword [esi + 0x10f0], 2
jne 0x412228
mov ecx, dword [esi + 0x1068]
test ecx, ecx
je 0x412228
movzx eax, al
push 2
push eax
push ecx
call fcn.00424fd8
add esp, 0xc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi + 0xe4], 0
je 0x412251
push 1
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x38]
call fcn.0043eb08
add esp, 0xc
cmp byte [esi + 0xe5], 0
jne 0x415278
mov eax, dword [esp]
cmp dword [eax], 0
mov ebx, 0xffffffff
mov edx, dword [esp + 0x48]
jne 0x4122a2
movzx eax, dl
mov ebx, 0xffffffff
push eax
push dword [esp + 0x48]
push esi
call fcn.0040f608
add esp, 0xc
cmp eax, 0x8000003f
je 0x412127
mov edx, 0xd961
cmp eax, 0x8000002a
je 0x41229e
cmp eax, 0x80000021
jne 0x41229c
mov ebx, dword [esp + 0x48]
jmp 0x41229e
mov edx, eax
mov dword [esp + 0x48], edx
mov eax, edx
and eax, 0xffffffe0
cmp eax, 0x80
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], ebx
jne 0x4122f8
mov eax, dword [esp]
cmp dword [eax], 4
jg 0x412408
cmp byte [esi + 0x13e], 0
jne 0x412408
test byte [esi], 0x10
je 0x412408
cmp edx, 0x9a
jne 0x412827
mov dword [esp + 0x48], 0
jmp case.default.0x412be6
cmp edx, 0x7f
jne 0x412343
mov eax, dword [esp]
mov eax, dword [eax]
mov edx, 0x7f
cmp eax, 4
jg 0x41240d
test byte [esi + 1], 0x40
je 0x41240d
mov edx, dword [esi + 0x98]
test edx, edx
je 0x412913
cmp byte [esi + 0xae], 0
jne 0x412915
add edx, 0xffffffff
mov dword [esi + 0x98], edx
jmp 0x412915
cmp edx, 0x20
jae 0x412408
mov eax, dword [esp]
mov eax, dword [eax]
cmp eax, 4
jg 0x41240d
add edx, 0xfffffffb
cmp edx, 0x16
ja case.default.0x412be6
invalid
add bh, bh
and al, 0x95
pop eax
jnp 0x4123b8
jmp dword [edx*4 + 0x4c7b58]
add dh, dh
push es
add dword [edi], ecx
test byte [ebx], bl
add al, byte [eax]
add byte [ebx + 0x1060be], al
add byte [eax], al
je case.default.0x412be6
mov eax, dword [esi + 0x10b0]
mov dword [esp + 0x10], eax
mov dword [esp + 8], ebp
mov ebp, dword [esi + 0x10b4]
mov ebx, ebp
add ebx, ebp
push 0
push 2
push ebx
call fcn.004392c8
add esp, 0xc
mov edi, eax
push ebx
push eax
push ebp
mov ebp, dword [esp + 0x14]
push dword [esp + 0x1c]
push 0
push 0
call fcn.0043e558
add esp, 0x18
add al, ch
lcall 0x18c4, 0x830002c1
mov ecx, esi
mov edx, edi
push eax
call fcn.00410818
add esp, 4
mov ebx, eax
push edi
call fcn.00439358
add esp, 4
push 0
push dword [ebx + 8]
push dword [ebx]
push dword [esi + 0x1060]
call fcn.0041c608
add esp, 0x10
push ebx
call fcn.00439948
add esp, 4
jmp case.default.0x412be6
mov eax, dword [esp]
mov eax, dword [eax]
cmp eax, 0xe
ja case.default.0x412be6
invalid
add bh, bh
and al, 0x85
mov ah, 0x7b
dec esp
add byte [ecx + 0x7074e8f1], cl
add byte [eax], al
mov eax, dword [esp + 0x48]
mov dword [esi + 0x1070], eax
adc byte [eax], al
add cl, ch
movsd dword es:[edi], dword [esi]
and dword [eax], eax
invalid
jmp dword [eax*4 + 0x4c7bb4]
adc byte [eax], al
add cl, ch
movsd dword es:[edi], dword [esi]
and dword [eax], eax
add byte [ebx + 0xc72404], cl
add byte [eax], al
add byte [eax], al
lea eax, [edx - 0x30]
cmp eax, 9
ja 0x4127a8
mov ecx, dword [esi + 0x210]
cmp ecx, 0x20
jg 0x4127d0
mov edi, dword [esi + ecx*4 + 0x18c]
test edi, edi
jne 0x41247a
mov dword [esi + ecx*4 + 0x18c], 0
mov ecx, dword [esi + 0x210]
mov edi, dword [esi + ecx*4 + 0x18c]
add ecx, 0xffffffff
mov ebx, 0xffffffff
cmp edi, 0x19999999
ja 0x4124a4
add edi, edi
lea edi, [edi + edi*4]
mov ebx, 0xffffffcf
sub ebx, edx
add eax, edi
cmp edi, ebx
mov edx, 0xffffffff
cmova eax, edx
mov ebx, eax
mov dword [esi + ecx*4 + 0x190], ebx
jmp 0x4127d0
add dword [eax], eax
add cl, ch
and byte [ebx], al
add byte [eax], al
mov byte [esi + 0xa1d], 0
lea eax, [edx - 0x30]
cmp eax, 0x92
ja case.default.0x4124c5
invalid
add bh, bh
and al, 0x85
xor al, 0x7d
dec esp
add byte [ebx + 0x21086], cl
add byte [ebx + 0x18c868c], cl
add byte [eax], al
cmp ecx, 0x19999999
ja 0x4124f5
jmp dword [eax*4 + 0x4c7d34]
add ecx, ecx
lea ecx, [ecx + ecx*4]
mov edi, 0xffffffcf
sub edi, edx
cmp ecx, edi
jbe 0x412c12
mov dword [esi + eax*4 + 0x18c], 0xffffffff
jmp case.default.0x412be6
invalid
invalid
add edx, 0xffffffc9
jmp 0x412a2e
mov eax, dword [esp]
mov dword [eax], 0
add byte [eax], al
add cl, ch
cmp dword [eax], esp
add byte [eax], al
add byte [eax], al
add cl, ch
cmp dword [eax], esp
add byte [eax], al
cmp edx, 0x5c
jne 0x412845
mov ecx, esi
call fcn.00419138
mov dword [esi + 0xe24], 0
add byte [eax], al
add cl, ch
sbb ah, byte [eax]
add byte [eax], al
add byte [eax], al
add cl, ch
sbb ah, byte [eax]
add byte [eax], al
cmp edx, 0x9c
add byte [eax], al
add byte [eax], al
jne 0x4127de
mov ecx, esi
call fcn.00419138
mov dword [esi + 0xe24], 0
add byte [eax], al
add cl, ch
clc
pop ds
add byte [eax], al
add byte [eax], al
add cl, ch
clc
pop ds
add byte [eax], al
mov dword [esi + 0xe24], 0
mov byte [esi + 0x142], 1
cmp byte [esi + 0x1079], 0
jne 0x412613
mov byte [esi + 0x1079], 1
push esi
push 0x417aa0
call fcn.00425948
add esp, 8
mov edx, dword [esp + 0x48]
add edx, 0xffffffc4
cmp edx, 0x3b
ja case.default.0x412be6
invalid
add bh, bh
and al, 0x95
invalid
jmp dword [edx*4 + 0x4c7bf0]
mov ecx, esi
call fcn.0040db28
mov ah, 0xff
invalid
jmp case.default.0x412be6
mov ah, 0xff
invalid
mov dword [esi + 0x94], ecx
mov byte [esi + 0xae], 0
add byte [eax], al
add cl, ch
invalid
pop ds
add byte [eax], al
add byte [eax], al
add cl, ch
cmp eax, 0xc700001f
xchg byte [esi + ecx], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add edx, 0xffffffe0
mov edi, 0
cmovs edx, edi
mov eax, dword [esi + 0x12c]
lea ecx, [eax - 1]
cmp edx, eax
cmovl ecx, edx
mov eax, dword [esi + 0x94]
mov edx, dword [esi + 0x128]
test eax, eax
cmovs eax, edi
lea edi, [edx - 1]
cmp eax, edx
cmovl edi, eax
mov dword [esi + 0x98], ecx
mov dword [esi + 0x94], edi
mov byte [esi + 0xae], 0
add byte [eax], al
add cl, ch
invalid
push ds
add byte [eax], al
add byte [eax], al
add cl, ch
jmp 0xc741270e
and edx, 0x3fe0f
jmp 0x41279a
mov dword [esi + 0x70], edx
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x78], eax
jmp case.default.0x412be6
cmp edx, 0x3b
jne 0x412ada
mov eax, dword [esi + 0x210]
cmp eax, 0x1f
jg 0x4127d0
lea ecx, [eax + 1]
mov dword [esi + 0x210], ecx
mov dword [esi + eax*4 + 0x190], 0
mov eax, dword [esp]
mov dword [eax], 2
jmp case.default.0x412be6
mov eax, dword [esi + 0x218]
cmp eax, 0x7ff
jg 0x412819
lea ecx, [eax + 1]
mov dword [esi + 0x218], ecx
mov byte [esi + eax + 0x21c], 0xc2
mov eax, dword [esi + 0x218]
cmp eax, 0x7ff
jg 0x412819
lea ecx, [eax + 1]
mov dword [esi + 0x218], ecx
mov byte [esi + eax + 0x21c], dl
mov eax, dword [esp]
mov dword [eax], 7
jmp case.default.0x412be6
mov dword [esi + 0xe24], 1
mov dword [esi + 0x214], 0
and edx, 0x1f
pop ds
pop ds
or edx, 0x40
mov dword [esp + 0x48], edx
mov eax, edx
and eax, 0xfffffff0
cmp eax, 0x20
jne 0x41286b
cmp dword [esi + 0x214], 0
je 0x4129cf
mov dword [esi + 0x214], 0xffffffff
jmp case.default.0x412be6
mov dword [esi + 0xe24], 0
mov eax, dword [esi + 0x214]
shl eax, 8
add eax, edx
cmp eax, 0x2537
jg 0x412984
lea ecx, [eax - 0x37]
cmp ecx, 0x2c
ja case.default.0x412897
invalid
add bh, bh
and al, 0x8d
mov eax, 0xf6004c87
push es
add cl, byte [edi]
test byte [ecx], dh
sbb eax, 0x868b0000
xchg esp, eax
add byte [eax], al
add byte [ebx + 0x988e], cl
add byte [ecx + 0xa08e], cl
add byte [ecx + 0x9c86], cl
add byte [ebx + 0x4e8b4046], cl
dec eax
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x54], eax
mov dword [esi + 0x50], ecx
mov eax, dword [esi + 0xb0]
mov dword [esi + 0xb4], eax
mov cl, byte [esi + 0xd5]
mov byte [esi + 0xbc], cl
mov cl, byte [esi + 0xae]
mov byte [esi + 0xbd], cl
mov eax, dword [esi + eax*4 + 0x160]
mov dword [esi + 0xb8], eax
mov eax, dword [esi + 0xcc]
mov dword [esi + 0xd0], eax
jmp case.default.0x412be6
jmp dword [ecx*4 + 0x4c87b8]
xor edx, edx
mov byte [esi + 0xae], 0
cmp byte [esi + 0x10f9], 0
jne case.default.0x412be6
mov ecx, esi
push dword [esi + 0x94]
call fcn.00416b18
add esp, 4
mov edx, dword [esi + 0x98]
add edx, 1
mov ecx, esi
push dword [esi + 0x94]
call fcn.00416b18
add esp, 4
mov edx, dword [esi + 0x94]
mov edi, dword [esi + 0x98]
mov ecx, esi
push 1
push 0xf23
call fcn.0040e158
add esp, 8
mov ecx, eax
mov edx, edi
push dword [esp + 0xc]
call fcn.00416d98
add esp, 4
jmp case.default.0x412be6
cmp eax, 0x282f
jg 0x412bc9
cmp eax, 0x2538
je 0x4129ac
cmp eax, 0x2540
je 0x412f57
cmp eax, 0x2547
jne case.default.0x412be6
test byte [esi + 1], 0x40
je case.default.0x412be6
cmp byte [esi + 0x10fb], 0
jne case.default.0x412be6
mov byte [esi + 0xd5], 1
jmp case.default.0x412be6
mov dword [esi + 0x214], edx
jmp case.default.0x412be6
mov ebx, edx
lea ecx, [eax + 1]
mov dword [esi + 0x218], ecx
mov byte [esi + eax + 0x21c], bl
cmp dword [esi + 0x218], 7
jl case.default.0x412be6
movsx edi, byte [esi + 0x21c]
cmp edi, 0x16
jb 0x412a70
push 0x152a
push 0x4f454e
push 0x4f6492
call fcn.004adb0b
add esp, 0xc
mov eax, dword [edi*4 + 0x4c7858]
mov cl, byte [esi + 0x21d]
shl cl, 4
add cl, byte [esi + 0x21e]
lea edx, [eax + eax*2]
mov byte [esi + edx + 0x197c], cl
mov cl, byte [esi + 0x21f]
shl cl, 4
add cl, byte [esi + 0x220]
mov byte [esi + edx + 0x197d], cl
mov cl, byte [esi + 0x221]
shl cl, 4
add cl, byte [esi + 0x222]
mov byte [esi + edx + 0x197e], cl
mov byte [esi + eax + 0x1c8e], 1
mov ecx, esi
call fcn.004181a8
mov dword [esi + 0xe24], 0
jmp case.default.0x412be6
mov eax, dword [esi + 0x214]
cmp edx, 0x3f
ja 0x412c23
mov ecx, 1
cmove edx, ecx
neg eax
sbb eax, eax
or eax, edx
mov dword [esi + 0x214], eax
mov dword [esi + 0xe24], 2
jmp case.default.0x412be6
add byte [eax], al
jne case.default.0x4124c5
cmp byte [esi + 0xd5], 0
jne 0x412b40
mov eax, dword [esi + 0x106c]
cmp dword [eax + 8], 0xfde9
jne case.default.0x412be6
mov eax, dword [esp]
mov dword [eax], 9
jmp case.default.0x412be6
lea ecx, [eax - 0x2333]
cmp ecx, 4
jae 0x4130c6
test byte [esi], 2
je case.default.0x412be6
mov bx, 1
cmp ecx, 2
ja 0x412b87
movzx ebx, word [eax + eax + 0x4c347e]
mov edx, dword [esi + 0x94]
mov ecx, esi
push 1
push 0x109d
call fcn.0040e158
add esp, 8
mov edi, eax
mov eax, dword [esi + 0x12c]
cmp eax, dword [edi + 4]
je 0x412bb8
mov ecx, esi
mov edx, edi
push eax
call fcn.00416e98
add esp, 4
mov ecx, esi
mov edx, edi
call fcn.00416d38
mov word [edi], bx
jmp case.default.0x412be6
lea ecx, [eax - 0x2830]
cmp ecx, 0x25
jbe switch.0x00412f7a
add eax, 0xffffd6d0
cmp eax, 0x25
ja case.default.0x412be6
invalid
add bh, bh
and al, 0x85
add al, 0x89
dec esp
add dh, dh
push es
add cl, byte [edi]
test dl, ah
sbb dword [eax], eax
add byte [eax + 0x10fbbe], al
add byte [eax], al
jne case.default.0x412be6
jmp dword [eax*4 + 0x4c8904]
mov dword [esi + 0x164], 0xd900
jmp case.default.0x412be6
add ecx, edx
add ecx, 0xffffffd0
mov dword [esi + eax*4 + 0x18c], ecx
jmp case.default.0x412be6
mov ecx, eax
shl ecx, 8
add ecx, edx
cmp ecx, 0x247b
jg 0x413785
lea edx, [ecx - 0x40]
cmp edx, 0x12c
ja case.default.0x412c45
invalid
add bh, bh
and al, 0x95
cmp byte [edi + 0x4c], 0
test byte [esi + 1], 0x20
je case.default.0x412be6
jmp dword [edx*4 + 0x4c7f80]
mov ecx, dword [esi + 0x190]
mov edx, dword [esi + 0x12c]
cmp ecx, edx
cmova ecx, edx
mov dword [esi + 0x190], ecx
xor eax, eax
sub ecx, 1
cmovb ecx, eax
test ecx, ecx
cmovs ecx, eax
lea edi, [edx - 1]
cmp ecx, edx
cmovl edi, ecx
mov ecx, dword [esi + 0x94]
mov edx, dword [esi + 0x128]
test ecx, ecx
cmovns eax, ecx
lea ecx, [edx - 1]
cmp eax, edx
cmovl ecx, eax
mov dword [esi + 0x98], edi
mov dword [esi + 0x94], ecx
jmp 0x4142d3
add bh, bh
jne 0x4125ca
mov eax, dword [esi + 0x218]
cmp eax, 0x7ff
jg case.default.0x412be6
lea ecx, [eax + 1]
mov dword [esi + 0x218], ecx
mov byte [esi + eax + 0x21c], dl
add al, byte [eax]
add cl, ch
loope 0x412d0d
add byte [eax], al
add al, byte [eax]
add cl, ch
loope 0x412d0d
add byte [eax], al
add eax, 0xfffffffd
cmp eax, 1
jbe 0x4125ca
call dword [0x4fda48]
mov ebx, eax
cmp byte [esi + 0x34], 0
xor al, 0
mov edi, dword [esp + 0x3c]
jne 0x413a65
push 0
push 8
push 1
call fcn.004392c8
add esp, 0xc
mov dword [eax + 4], ebx
mov dword [eax], 0
cmp dword [edi], 0
je 0x413a5a
mov ecx, dword [esi + 0x2c]
jmp 0x413a5c
add byte [eax], al
add cl, ch
inc ebx
add eax, dword [eax]
add byte [ecx - 0x74f7db94], cl
xchg esi, eax
xchg esp, eax
add byte [eax], al
add byte [ebx + 0x9886], cl
add byte [ecx - 0x76dbdbbc], cl
int1
mov dword [esp + 0x10], edx
push 1
push 0xfe6
call fcn.0040e158
add esp, 8
mov ecx, dword [esi + 0x98]
mov edi, dword [esi + 0x12c]
lea ebp, [edi - 1]
add ecx, 1
nop
nop
nop
mov edx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, ebp
jge 0x412dc3
mov ebx, dword [esi + 0xe20]
lea ecx, [edx + 1]
cmp byte [ebx + edx], 0
je 0x412da8
test byte [eax], 3
je 0x413194
mov ebp, edi
shr ebp, 0x1f
add ebp, edi
sar ebp, 1
cmp edx, ebp
jl 0x4131a0
add ebp, 0xffffffff
jmp 0x413198
add dword [eax], edx
jne 0x413052
test byte [esi], 2
je 0x412591
push es
add cl, byte [edi]
test byte [ecx - 0x74000009], bl
xchg byte [eax + eax - 0x79c50000], dl
test al, 0
add byte [eax], al
mov eax, dword [esi + 0x94]
cmp eax, dword [esi + 0xa8]
jne 0x412ede
mov edx, dword [esi + 0xa4]
mov ecx, esi
push 1
push 1
push eax
call fcn.00416768
add esp, 0xc
jmp 0x412ef4
add esp, 0xc
jmp 0x412f33
add byte [eax], al
add cl, ch
sub eax, 0xf6000017
push es
add cl, byte [edi]
test ch, bl
idiv bh
inc edi
xchg byte [eax], dh
add byte [eax], al
add cl, ch
adc eax, 0x80000017
mov esi, 0x13e
add byte [edi], cl
test byte [ebp + 3], dh
add byte [eax], al
mov eax, dword [esp]
mov dword [eax], 0xa
jmp case.default.0x412be6
mov ecx, dword [esi + 0x128]
add ecx, 0xffffffff
cmp eax, ecx
jge 0x412ef4
add eax, 1
mov dword [esi + 0x94], eax
cmp byte [esi + 0x10ec], 0
je 0x412f07
mov dword [esi + 0x98], 0
mov byte [esi + 0xae], 0
mov byte [esi + 0x142], 1
cmp byte [esi + 0x1079], 0
jne 0x412f33
mov byte [esi + 0x1079], 1
push esi
push 0x417aa0
call fcn.00425948
add esp, 8
mov eax, dword [esi + 0x1068]
test eax, eax
je case.default.0x412be6
movzx ecx, byte [esp + 0x48]
push 1
push ecx
push eax
call fcn.00424fd8
add esp, 0xc
jmp case.default.0x412be6
test byte [esi + 1], 0x40
je case.default.0x412be6
cmp byte [esi + 0x10fb], 0
jne case.default.0x412be6
mov byte [esi + 0xd5], 0
jmp case.default.0x412be6
invalid
add bh, bh
and al, 0x8d
insb byte es:[edi], dx
mov byte [eax + eax - 0xa], cl
push es
add cl, byte [edi]
test byte [esi + 0x16], cl
add byte [eax], al
cmp byte [esi + 0x10fb], 0
jne case.default.0x412be6
jmp dword [ecx*4 + 0x4c886c]
mov dword [esi + 0x160], 0xd900
jmp case.default.0x412be6
fld dword [eax]
add cl, ch
xor dl, byte [esi]
add byte [eax], al
cmp dword [esi + 0x210], 1
jne case.default.0x4124c5
cmp dword [esi + 0x190], 4
jne case.default.0x4124c5
mov dword [esi + 0x210], 2
mov dword [esi + 0x194], 0
add byte [eax], al
add cl, ch
pop es
push ss
add byte [eax], al
add byte [eax], al
add cl, ch
pop es
push ss
add byte [eax], al
cmp dword [esi + 0x190], 2
jne case.default.0x4124c5
mov dword [esi + 0x190], 1
jmp case.default.0x412be6
add byte [eax], al
add cl, ch
out dx, eax
adc eax, 0x86c70000
mov dword [esi + 0xe24], 7
invalid
xchg byte [eax], bl
add al, byte [eax]
add byte [eax], al
mov dword [esi + 0xe24], 7
mov dword [esi + 0x218], 0
add byte [eax], al
add cl, ch
salc
invalid
add byte [eax], al
add byte [eax], al
add cl, ch
salc
adc eax, 0x86c70000
and al, 0xe
add byte [eax], al
push es
add byte [eax], al
add bh, al
xchg byte [eax], bl
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add cl, ch
mov ebp, 0x89000015
int1
xor edx, edx
call fcn.0040e7b8
push esi
call fcn.0040f928
add esp, 4
mov dword [esi + 0xe24], 0
add byte [eax], al
add cl, ch
pushfd
invalid
add byte [eax], al
add byte [eax], al
add cl, ch
pushfd
adc eax, 0x86c70000
and al, 0xe
add byte [eax], al
add al, 0
add byte [eax], al
mov byte [esi + 0xa1d], 1
jmp case.default.0x412be6
mov eax, dword [esi + 0x128]
mov ecx, dword [esi + 0x12c]
lea edx, [ecx - 1]
test ecx, ecx
mov edi, 0
cmovg edx, edi
lea ecx, [eax - 1]
test eax, eax
cmovg ecx, edi
mov dword [esi + 0x98], edx
mov dword [esi + 0x94], ecx
mov byte [esi + 0xae], 0
mov ecx, esi
xor edx, edx
push 1
push 0
call fcn.00416268
add esp, 8
cmp byte [esi + 0x1109], 0
je 0x4130a6
mov dword [esi + 0x10], 0
mov byte [esi + 0xae], 0
mov byte [esi + 0x142], 1
cmp byte [esi + 0x1079], 0
jne case.default.0x412be6
jmp 0x41322b
cmp eax, 0x2338
jne case.default.0x412be6
test byte [esi], 2
je case.default.0x412be6
mov eax, dword [esi + 0x128]
test eax, eax
jle 0x4138fd
xor edx, edx
mov dword [esp + 8], ebp
jmp 0x41310e
mov word [ecx], 0
mov edx, dword [esp + 0x24]
add edx, 1
mov eax, dword [esi + 0x128]
cmp edx, eax
mov ebp, dword [esp + 8]
jge 0x4138fd
mov ecx, esi
mov dword [esp + 0x24], edx
push 1
push 0x1074
call fcn.0040e158
add esp, 8
mov ecx, eax
mov eax, dword [esi + 0x12c]
cmp eax, dword [ecx + 4]
mov dword [esp + 0x10], ecx
jne 0x413138
mov edx, esi
jmp 0x413153
mov ecx, esi
mov edx, dword [esp + 0x10]
push eax
call fcn.00416e98
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, esi
mov eax, dword [esi + 0x12c]
test eax, eax
mov edi, dword [esp + 0x14]
mov esi, edx
jle 0x4130f0
xor ebx, ebx
xor ebp, ebp
nop
nop
nop
nop
nop
nop
nop
mov edx, ebp
push edi
call fcn.00416d98
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [ecx + 0x14]
mov dword [eax + ebx], 0x45
add ebp, 1
add ebx, 0x14
cmp ebp, dword [esi + 0x12c]
jl 0x413168
jmp 0x4130f0
cmp edx, edi
jl 0x4131a0
mov dword [esi + 0x98], ebp
mov edx, ebp
xor eax, eax
mov ecx, dword [esp + 0x24]
cmp dword [esi + 0xe40], ecx
setg al
xor ecx, ecx
mov edi, dword [esp + 0x10]
cmp dword [esi + 0xe3c], edi
setg cl
cmove ecx, eax
cmp cl, 1
jne 0x413213
mov edi, dword [esi + 0x94]
xor eax, eax
cmp dword [esi + 0xe38], edx
setl al
xor ecx, ecx
cmp dword [esi + 0xe34], edi
setl cl
cmove ecx, eax
cmp cl, 1
jne 0x413213
mov dword [esi + 0xe28], 0
mov eax, dword [esp + 0x18]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov byte [esi + 0x142], 1
cmp byte [esi + 0x1079], 0
mov ebp, dword [esp + 8]
jne case.default.0x412be6
mov byte [esi + 0x1079], 1
push esi
push 0x417aa0
call fcn.00425948
add esp, 8
jmp case.default.0x412be6
clc
add dword [edi], ecx
xchg dword [ebx + 6], ebp
add byte [eax], al
mov eax, dword [esp]
mov dword [eax], 8
add byte [eax], al
add cl, ch
jns 0x413270
add byte [eax], al
add byte [eax], al
add cl, ch
jns 0x413270
add byte [eax], al
test byte [esi], 2
je case.default.0x412be6
mov edi, dword [esi + 0x1060]
test edi, edi
je case.default.0x412be6
mov ebx, dword [esp + 0x2c]
push ebx
call fcn.004b19c8
add esp, 4
push 0
push eax
push ebx
push edi
call fcn.0041c608
add esp, 0x10
jmp case.default.0x412be6
imul eax, dword [eax], 0x1306e900
add byte [eax], al
test byte [esi], 2
je case.default.0x412be6
mov byte [esi + 0x13d], 1
jmp case.default.0x412be6
add byte [eax], al
add ecx, ebp
pop ss
adc eax, dword [eax]
add dh, dh
push es
add cl, byte [edi]
test byte [esi], cl
adc eax, dword [eax]
add dh, al
xchg byte [1], bh
add byte [eax], al
add cl, ch
add dl, byte [ebx]
add byte [eax], al
add byte [eax], al
add cl, ch
add dl, byte [ebx]
add byte [eax], al
test byte [esi], 2
add dh, byte [ebp + 0x18]
add dh, byte [ebp + 0x18]
jmp case.default.0x412be6
mov eax, dword [esi + 0x94]
cmp eax, dword [esi + 0xa8]
jne 0x4138de
mov edx, dword [esi + 0xa4]
mov ecx, esi
push 1
push 1
push eax
jmp 0x4142cb
add al, 8
add ecx, ebp
mov dword [0xf6000012], eax
push es
add cl, byte [edi]
test byte [edx - 0x74ffffee], bl
xchg esi, eax
xchg esp, eax
add byte [eax], al
add byte [ebx], bh
xchg esi, eax
movsb byte es:[edi], byte [esi]
add byte [eax], al
add byte [edi], cl
test esp, esi
push es
add byte [eax], al
mov ecx, esi
push 1
add dword [edx - 1], ebp
add dword [edx - 1], ebp
jmp 0x4142c5
add byte [eax], al
add cl, ch
push eax
adc al, byte [eax]
add dh, dh
inc esi
add dword [eax + 0xf], eax
test byte [esi + 0x12], al
add byte [eax], al
mov dword [esi + 0xe24], 3
mov dword [esi + 0x218], 0
mov dword [esi + 0x190], 0
mov dword [esi + 0x210], 1
add byte [eax], al
add cl, ch
sbb dword [edx], edx
add byte [eax], al
add byte [eax], al
add cl, ch
sbb dword [edx], edx
add byte [eax], al
test byte [esi], 2
je case.default.0x412be6
mov ecx, esi
mov edx, 1
call fcn.0040cb08
mov eax, dword [esi + 0x1060]
test eax, eax
je 0x4133e7
push eax
call fcn.0041c388
add esp, 4
cmp byte [esi + 0xc5], 0
je 0x413415
cmp byte [esi + 0x10fc], 0
jne 0x41340e
mov ecx, esi
mov edx, 0x50
push dword [esi + 0x128]
call fcn.00419d08
add esp, 4
mov byte [esi + 0xc5], 0
cmp byte [esi + 0x1109], 0
je 0x4145b2
mov dword [esi + 0x10], 0
jmp 0x4145b2
add byte [eax], al
add cl, ch
out 0xfa, al
invalid
add byte [eax], al
add ecx, ebp
jg 0x413468
add byte [eax], al
mov byte [esi + 0x13d], 0
add byte [eax], al
add cl, ch
jae 0x413474
add byte [eax], al
add byte [eax], al
add cl, ch
jae 0x413474
add byte [eax], al
mov eax, dword [esi + 0x94]
mov edx, dword [esi + 0x98]
add byte [eax], al
invalid
add eax, 0xffffffff
add byte [eax], al
add byte [ebx + 0x9896], cl
add byte [eax], al
add byte [eax], al
add byte [ebx + 0xfebffc0], al
mov eax, dword [esi + 0x94]
mov edx, dword [esi + 0x98]
add eax, 1
invalid
jmp 0x413485
add dword [ecx + 0x50016af1], ecx
mov ecx, esi
push 1
push eax
jmp 0x4134aa
add byte [eax], al
add byte [ebx + 0x9eb01c2], al
mov edx, dword [esi + 0x98]
add edx, 0xffffffff
mov ecx, esi
push 1
push dword [esi + 0x94]
call fcn.004193f8
add esp, 8
jmp case.default.0x412be6
add al, byte [eax]
add cl, ch
into
adc byte [eax], al
add bh, al
xchg byte [eax], dh
add byte [eax], al
add bh, al
xchg byte [eax + 1], ah
add byte [eax], al
add cl, bl
fld dword [eax]
add cl, ch
mov ch, 0x10
add byte [eax], al
fld dword [eax]
add cl, ch
mov ch, 0x10
add byte [eax], al
mov dword [esi + 0xb0], 0
mov dword [esi + 0x160], 0xd800
fadd dword [eax]
add cl, ch
pushfd
adc byte [eax], al
invalid
fadd dword [eax]
add cl, ch
pushfd
adc byte [eax], al
add byte [ebx + 0x12886], cl
add byte [ebx + 0x12c8e], cl
add byte [ebp - 0xce00af], cl
test ecx, ecx
cmovg edx, edi
lea ecx, [eax - 1]
test eax, eax
cmovg ecx, edi
mov dword [esi + 0x98], edx
add byte [eax], al
add cl, ch
and al, 0xf1
invalid
invalid
add byte [eax], al
add cl, ch
and al, 0xf1
invalid
add byte [eax], al
add cl, ch
dec esi
adc byte [eax], al
add byte [ecx + 0x6ad231f1], cl
add dword [edx], ebp
call fcn.00416268
add esp, 8
cmp byte [esi + 0x1109], 0
jne 0x413706
add dword [eax], eax
invalid
add dword [eax], eax
add cl, ch
sub al, 0x10
add byte [eax], al
mov ecx, esi
mov edx, 1
push 1
add dword [edx], ebp
jmp case.default.0x412be6
add dword [edx], ebp
jmp 0x413746
mov ecx, esi
push 0
push 0xffffffffffffffff
jmp 0x4135f2
push eax
call fcn.00416768
add esp, 0xc
jmp case.default.0x412be6
add byte [eax], al
add cl, ch
js 0x41366d
add byte [eax], al
mov eax, dword [esp + 4]
or byte [eax + 2], 8
dec eax
add cl, byte [eax]
dec eax
add cl, byte [eax]
jmp case.default.0x412be6
mov byte [esi + 0xd4], 0
and byte [esi + 0x42], 0xfb
inc dx
sti
inc dx
sti
jmp case.default.0x412be6
dec esi
inc edx
add al, 0xe9
dec ebx
sldt word [eax]
mov eax, dword [esp + 4]
and byte [eax + 2], 0xf7
pushal
add dh, bh
pushal
add dh, bh
jmp case.default.0x412be6
add byte [eax], al
add cl, ch
xor byte [edi], cl
add byte [eax], al
mov eax, dword [esi + 0x1060]
test eax, eax
je case.default.0x412be6
push 0
push 3
push 0x4e7f3f
push eax
call fcn.0041c608
add esp, 0x10
jmp case.default.0x412be6
add byte [eax], al
add cl, ch
std
push cs
add byte [eax], al
mov eax, dword [esp]
mov dword [eax], 0xe
add byte [eax], al
add cl, ch
out dx, eax
push cs
add byte [eax], al
add byte [eax], al
add cl, ch
out dx, eax
push cs
add byte [eax], al
mov ecx, esi
xor edx, edx
push 0
push 1
call fcn.00416268
add esp, 8
cmp byte [esi + 0x1109], 0
je case.default.0x412be6
mov dword [esi + 0x10], 0
jmp case.default.0x412be6
add byte [eax], al
add cl, ch
invalid
add byte [eax], al
add cl, ch
popfd
push cs
add byte [eax], al
mov ecx, esi
mov edx, 1
push 0
push 1
call fcn.00416268
add esp, 8
jmp case.default.0x412be6
dec eax
add dl, byte [eax]
jmp case.default.0x412be6
cmp ecx, 0x3d42
jle 0x413b18
lea eax, [ecx - 0x3d43]
cmp eax, 0x20
ja case.default.0x4137a0
invalid
add bh, bh
and al, 0x85
xor al, 0x84
dec esp
add dh, dh
inc esi
add dword [eax], edx
je case.default.0x412be6
jmp dword [eax*4 + 0x4c8434]
cmp dword [esi + 0x210], 2
jl case.default.0x412be6
mov eax, dword [esi + 0x190]
cmp eax, dword [esi + 0x194]
add byte [eax], al
add byte [eax], al
ja 0x413fa5
mov byte [esi + 0xc4], 1
jmp case.default.0x412be6
add byte [eax], al
add ecx, ebp
cld
or eax, 0x6f60000
add cl, byte [edi]
test bl, dh
or eax, 0xbe800000
sti
adc byte [eax], al
add byte [eax], al
jne case.default.0x412be6
mov dword [esi + 0x160], 0xdb00
jmp case.default.0x412be6
fild dword [eax]
add cl, ch
xlatb
or eax, 0x6f60000
add cl, byte [edi]
test dh, cl
or eax, 0xbe800000
sti
adc byte [eax], al
add byte [eax], al
jne case.default.0x412be6
mov dword [esi + 0x160], 0xd800
jmp case.default.0x412be6
fadd dword [eax]
add cl, ch
mov dl, 0xd
add byte [eax], al
test byte [esi + 1], 0x40
je case.default.0x412be6
cmp byte [esi + 0x10fb], 0
jne case.default.0x412be6
mov dword [esi + 0x160], 0xda00
jmp case.default.0x412be6
fiadd dword [eax]
add cl, ch
mov word [0x6f60000], cs
add cl, byte [edi]
test byte [ebx - 0x7ffffff3], al
mov esi, 0x10fb
add byte [edi], cl
test dword [esi + 0xd], esi
add byte [eax], al
mov dword [esi + 0x164], 0xdb00
fild dword [eax]
add cl, ch
invalid
invalid
add byte [eax], al
fild dword [eax]
add cl, ch
or eax, 0x6f60000
add cl, byte [edi]
test byte [esi + 0xd], bl
add byte [eax], al
cmp byte [esi + 0x10fb], 0
jne case.default.0x412be6
mov dword [esi + 0x164], 0xd800
jmp case.default.0x412be6
mov ecx, dword [esi + 0x128]
add ecx, 0xffffffff
cmp eax, ecx
jge 0x4142d3
add eax, 1
mov dword [esi + 0x94], eax
jmp 0x4142d3
cmp byte [esi + 0x1109], 0
je 0x41390d
mov dword [esi + 0x10], 0
mov byte [esi + 0x142], 1
cmp byte [esi + 0x1079], 0
jne 0x413938
mov byte [esi + 0x1079], 1
push esi
push 0x417aa0
call fcn.00425948
add esp, 8
mov eax, dword [esi + 0x128]
xor ecx, ecx
cmp dword [esi + 0xe40], 0
setg cl
xor edx, edx
cmp dword [esi + 0xe3c], 0
setg dl
cmove edx, ecx
cmp dl, 1
jne case.default.0x412be6
xor ecx, ecx
cmp dword [esi + 0xe38], 0
sets cl
xor edx, edx
cmp dword [esi + 0xe34], eax
setl dl
cmovne ecx, edx
cmp cl, 1
jne case.default.0x412be6
mov dword [esi + 0xe28], 0
mov eax, dword [esp + 0x18]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
jmp 0x414696
mov ecx, edi
mov dword [ecx], eax
mov dword [esi + 0x2c], eax
add dword [esi + 0x30], 1
mov eax, dword [edi]
test eax, eax
je 0x413a9c
mov ecx, ebx
sub ecx, dword [esi + 0x10cc]
cmp dword [eax + 4], ecx
jae 0x413a9c
mov ecx, dword [eax]
mov dword [edi], ecx
push eax
call fcn.00439358
add esp, 4
mov eax, dword [edi]
test eax, eax
je 0x413a91
add dword [esi + 0x30], 0xffffffff
jmp 0x413a6b
mov dword [esi + 0x2c], 0
add dword [esi + 0x30], 0xffffffff
cmp byte [esi + 0x10c0], 0
je 0x413ad1
cmp byte [esi + 0x34], 0
je 0x413ac2
mov eax, ebx
sub eax, dword [esi + 0x38]
cmp eax, dword [esi + 0x10c8]
jb case.0x412c45.74
mov byte [esi + 0x34], 0
jmp 0x413ad1
mov eax, dword [esi + 0x30]
cmp eax, dword [esi + 0x10c4]
jge 0x413b6f
mov dword [esi + 0x38], ebx
mov eax, dword [esi + 0x1064]
mov ecx, dword [eax]
push dword [esi + 0x10bc]
push eax
call dword [ecx + 0x28]
add esp, 8
cmp dword [esi + 0x10bc], 2
jne 0x4130ad
mov byte [esi + 0x135], 1
push esi
push 0x417af0
push 0x64
call fcn.00425ad8
add esp, 0xc
mov dword [esi + 0x138], eax
jmp 0x4130ad
cmp ecx, 0x247c
je 0x413fb1
cmp ecx, 0x2a7c
jne case.default.0x412be6
test byte [esi], 0x40
je case.default.0x412be6
cmp dword [esi + 0x210], 1
jne case.default.0x412be6
mov eax, dword [esi + 0x190]
test eax, eax
je case.default.0x412be6
cmp byte [esi + 0x10fc], 0
jne 0x41397f
mov edx, dword [esi + 0x12c]
mov ecx, esi
push eax
jmp 0x414c63
mov byte [esi + 0x34], 1
mov dword [esi + 0x38], ebx
jmp 0x4130ad
or dword [eax], eax
add cl, ch
scasd eax, dword es:[edi]
or dword [eax], eax
add dh, dh
push es
add cl, byte [edi]
test byte [ecx + ecx - 0x417d0000], bh
adc byte [edx], al
add byte [eax], al
add byte [edi], cl
mov gs, word [edi - 0x74fffff7]
xchg esi, eax
nop
add dword [eax], eax
add byte [ecx + 0x50016af1], cl
call int.0041a2e8
add esp, 8
cmp dword [esi + 0x210], 2
jl case.default.0x412be6
mov edi, 0x65
mov edx, dword [esi + edi*4]
mov ecx, esi
push 1
push dword [esi + 0x214]
call int.0041a2e8
add esp, 8
lea eax, [edi + 1]
add edi, 0xffffff9d
cmp edi, dword [esi + 0x210]
mov edi, eax
invalid
jl 0x413c4e
invalid
jmp case.default.0x412be6
add dword [eax], eax
add cl, ch
fimul word [eax]
add byte [eax], al
test byte [esi], 2
je case.default.0x412be6
cmp dword [esi + 0x210], 0
jle case.default.0x412be6
mov edx, dword [esi + 0x190]
mov ecx, esi
push 0
push eax
call int.0041a2e8
add esp, 8
cmp dword [esi + 0x210], 2
jl case.default.0x412be6
mov edi, 0x65
mov edx, dword [esi + edi*4]
mov ecx, esi
push 0
push dword [esi + 0x214]
call int.0041a2e8
add esp, 8
lea eax, [edi + 1]
add edi, 0xffffff9d
cmp edi, dword [esi + 0x210]
mov edi, eax
jl 0x413d35
jmp case.default.0x412be6
cmp ecx, 0x3e63
jne case.default.0x412be6
test byte [esi + 1], 0x40
je case.default.0x412be6
mov eax, dword [esi + 0x1060]
test eax, eax
je case.default.0x412be6
push 0
push 0xb
push 0x4e7c86
jmp 0x414e67
cmp ecx, 0x2270
jne case.default.0x412be6
mov eax, dword [esi + 0x190]
cmp eax, 0x3e
ja case.default.0x413dac
invalid
add bh, bh
and al, 0x85
mov eax, 0xc7004c84
push es
invalid
jmp dword [eax*4 + 0x4c84b8]
inc dword [eax]
add cl, ch
sbb cl, byte [eax]
add byte [eax], al
test byte [esi + 1], 0x10
je case.default.0x412be6
mov byte [esi + 0xc9], 0
mov ecx, esi
call fcn.0040db28
cmp dword [esi + 0x190], 0
mov eax, dword [esi + 0x40]
je 0x414dfe
or eax, 0x200000
jmp 0x414e03
add byte [eax], ah
add cl, ch
adc edx, dword [eax]
add byte [eax], al
test byte [esi + 1], 0x10
je case.default.0x412be6
cmp dword [esi + 0x190], 0
setne byte [esi + 0xc9]
add byte [eax], al
add cl, ch
sub al, 0xe8
invalid
invalid
add byte [eax], al
add cl, ch
sub al, 0xe8
invalid
mov dword [esi + 0x70], eax
jmp 0x41279d
add byte [eax], al
add cl, ch
mov cl, 6
add byte [eax], al
test byte [esi + 1], 0x10
je case.default.0x412be6
cmp dword [esi + 0x190], 0
sete byte [esi + 0xc6]
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x10]
mov edx, dword [esp + 0xc]
mov dword [edx + 0x10], eax
mov eax, dword [ecx + 0xc]
mov dword [edx + 0xc], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [edx + 4], ecx
mov dword [edx], eax
jne case.default.0x412be6
mov eax, dword [esi + 0x40]
mov ecx, 0x3ffff
and eax, ecx
mov dword [esi + 0x70], eax
jmp 0x41279d
test eax, eax
jne case.default.0x412be6
mov byte [esi + 0xc4], 0
jmp case.default.0x412be6
test byte [esi + 1], 1
je case.default.0x412be6
cmp dword [esi + 0x210], 1
jg case.default.0x412be6
cmp byte [esi + 0x10fc], 0
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
jne 0x413ff9
mov edx, dword [esi + 0x190]
test edx, edx
jne 0x413fe9
mov edx, dword [esi + 0x10dc]
mov ecx, esi
push dword [esi + 0x128]
call fcn.00419d08
add esp, 4
mov dword [esi + 0xe28], 0
mov eax, dword [esp + 0x18]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
add byte [eax], al
add cl, ch
add cl, ah
invalid
invalid
add byte [eax], al
add cl, ch
add cl, ah
invalid
cmovne edx, ecx
jmp 0x414254
cwde
add byte [eax], al
add byte [ecx - 0x7492140f], cl
xchg byte [eax - 0x74ffffff], dl
mov gs, word [ecx + eax]
add byte [eax], al
cmp eax, ecx
cmova eax, ecx
mov dword [esi + 0x190], eax
mov edx, dword [esi + 0x98]
test eax, eax
mov ecx, 1
cmovne ecx, eax
sub edx, ecx
mov ecx, esi
push 1
push dword [esi + 0x94]
add byte [eax], al
add cl, ch
invalid
add al, 0
invalid
add byte [eax], al
add cl, ch
jmp 0xf64140c6
shr byte [edx + 1], cl
jmp 0x41456f
int1
xor edx, edx
jmp 0x4145a7
add esp, 4
jmp 0x413415
and byte [eax], al
add cl, ch
push ds
add al, 0
add dh, dh
push es
or byte [edi], cl
test byte [esi], bh
add al, 0
add byte [ebx + 0x1908e], cl
add byte [ebx + 0x12886], cl
add byte [ecx], bh
ror dword [edi], 0x47
enter 0xffffffffffff8e89, 0xffffffffffffff90
add dword [eax], eax
add byte [ebx + 0x9496], cl
add byte [ebx + 0xa886], cl
add byte [ecx], bh
ret 0x8f0f
neg edi
mov ecx, esi
push 0
jmp 0x414219
push edi
push eax
call fcn.00416768
add esp, 0xc
jmp 0x4145b2
mov ecx, esi
call fcn.00419d58
pop edx
add byte [eax], al
pop edx
add byte [eax], al
jmp 0x4145b2
add byte [eax], al
add byte [edi], cl
inc ebp
clc
jmp 0x4142ba
mov edx, dword [esi + 0xa4]
mov ecx, esi
push 1
push edi
push dword [esi + 0xa8]
call fcn.00416768
add esp, 0xc
mov byte [esi + 0xae], 0
jmp 0x4145b2
add byte [eax], al
add cl, ch
rol dword [edx], cl
add byte [eax], al
test byte [esi], 1
je case.default.0x412be6
mov dword [esp + 8], ebp
mov eax, dword [esi + 0x190]
mov ecx, dword [esi + 0x12c]
cmp eax, ecx
cmova eax, ecx
mov dword [esi + 0x190], eax
test eax, eax
mov edi, 1
cmovne edi, eax
mov edx, dword [esi + 0x94]
mov ebx, dword [esi + 0x98]
mov ecx, esi
push 1
push 0x13af
call fcn.0040e158
add esp, 8
mov ecx, esi
mov dword [esp + 0x24], eax
mov edx, eax
call fcn.00416d38
mov ebp, dword [esi + 0x12c]
mov eax, dword [esi + 0x94]
mov edx, dword [esi + 0x98]
sub ebp, edx
cmp edi, ebp
cmovle ebp, edi
mov edi, eax
mov ecx, esi
mov dword [esp + 0x10], edx
push eax
call fcn.00416b18
add esp, 4
mov edx, dword [esi + 0x98]
add edx, ebp
mov ecx, esi
push dword [esi + 0x94]
call fcn.00416b18
add esp, 4
mov edx, dword [esi + 0xe3c]
mov ecx, dword [esi + 0xe40]
xor eax, eax
cmp ecx, dword [esi + 0x98]
setg al
xor ecx, ecx
cmp edx, dword [esi + 0x94]
setg cl
cmove ecx, eax
cmp cl, 1
jne 0x4143f0
mov ecx, dword [esp + 0x10]
add ecx, ebp
xor eax, eax
cmp dword [esi + 0xe38], ecx
setl al
xor ecx, ecx
cmp dword [esi + 0xe34], edi
setl cl
cmove ecx, eax
cmp cl, 1
jne 0x4143f0
mov dword [esi + 0xe28], 0
mov eax, dword [esp + 0x18]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
test ebp, ebp
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x24]
je 0x41441d
lea ecx, [ebx + 1]
mov dword [esp + 0x10], ecx
mov ecx, edi
mov edx, ebx
push eax
mov ebx, eax
call fcn.00416d98
mov eax, ebx
add esp, 4
mov ebx, dword [esp + 0x10]
add ebp, 0xffffffff
jne 0x4143fc
mov byte [esi + 0x142], 1
cmp byte [esi + 0x1079], 0
mov ebp, dword [esp + 8]
jne case.default.0x412be6
add dword [eax], eax
invalid
add dword [eax], eax
add cl, ch
mov byte [ecx], al
add byte [eax], al
test byte [esi + 1], 0x40
je case.default.0x412be6
jmp 0x4145c2
mov ecx, dword [esi + 0x190]
mov eax, dword [esi + 0x12c]
cmp ecx, eax
cmova ecx, eax
mov dword [esi + 0x190], ecx
test ecx, ecx
mov eax, dword [esi + 0x98]
mov edx, 1
cmovne edx, ecx
mov ecx, eax
test edx, edx
jle 0x414e10
invalid
add byte [ecx + 0x8c1e9c3], cl
add byte [eax], al
test byte [esi + 1], 0x20
add dword [eax], esp
mov ebx, eax
jmp 0x414d3d
add dword [eax], esp
je case.default.0x412be6
mov eax, dword [esi + 0x190]
mov ecx, dword [esi + 0x12c]
cmp eax, ecx
cmova eax, ecx
mov edi, dword [esi + 0x94]
mov dword [esi + 0x190], eax
test eax, eax
mov edx, 1
cmovne edx, eax
add edx, dword [esi + 0x98]
add byte [eax], al
add cl, ch
in eax, dx
add byte [eax], al
invalid
add byte [eax], al
add cl, ch
in eax, dx
add byte [eax], al
add byte [ebx + 0x12c86], cl
add byte [ebx + 0x1908e], cl
add byte [edi], cl
scasd eax, dword es:[edi]
xchg byte [eax], ch
add dword [eax], eax
add byte [ecx], bh
ror dword [edi], 0x46
ror dword [ecx + 0x19086], 0
mov edx, dword [esi + 0x1070]
test edx, edx
je case.default.0x412be6
test eax, eax
je case.default.0x412be6
mov ecx, esi
call fcn.00419498
cmp dword [esi + 0x190], 2
jb case.default.0x412be6
mov edi, 1
mov edx, dword [esi + 0x1070]
mov ecx, esi
call fcn.00419498
add edi, 1
cmp edi, dword [esi + 0x190]
add byte [edx - 0x18], dh
add byte [edx - 0x18], dh
jmp case.default.0x412be6
add byte [eax], al
mov ecx, esi
push edi
push eax
jmp 0x4145aa
mov ecx, esi
push 1
push edi
call fcn.004193f8
add esp, 8
mov byte [esi + 0x142], 1
cmp byte [esi + 0x1079], 0
jne case.default.0x412be6
mov byte [esi + 0x1079], 1
push esi
push 0x417aa0
call fcn.00425948
je 0x4145e5
add dword [eax], eax
je 0x4145e5
add dword [eax], eax
add esp, 8
nop
cmp dword [esi + 0xe28], 0
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
and al, 0x1c
je 0x412127
mov ebx, ebp
mov eax, dword [esi + 0x94]
mov edx, dword [esi + 0x98]
mov dword [esp + 0x4c], eax
cmp edx, dword [esi + 0x12c]
mov ecx, edx
mov edi, 0
cmove ecx, edi
mov edi, edx
cmove edi, eax
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x38]
lea ebp, [esp + 0x4c]
cmove ecx, ebp
add edi, 1
mov dword [ecx], edi
xor ecx, ecx
cmp dword [esi + 0xe40], edx
setg cl
xor edx, edx
cmp dword [esi + 0xe3c], eax
setg dl
cmove edx, ecx
cmp dl, 1
jne 0x414694
mov ecx, dword [esp + 0x4c]
mov edx, dword [esi + 0xe38]
xor eax, eax
cmp edx, dword [esp + 0x38]
setl al
xor edx, edx
cmp dword [esi + 0xe34], ecx
setl dl
cmovne eax, edx
cmp al, 1
jne 0x414694
mov dword [esi + 0xe28], 0
mov eax, dword [esp + 0x18]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov ebp, ebx
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
pop esp
and al, 0x1c
pop esp
and al, 0x1c
jmp 0x412127
add byte [ebx + ebp*8 - 0x17], bh
invalid
fild dword [0xff310000]
jmp 0x414738
add edx, 0xffffffe2
or edx, ecx
mov dword [esi + 0x40], edx
add edi, 1
cmp edi, eax
jge 0x414ce6
mov ecx, dword [esi + edi*4 + 0x190]
cmp ecx, 0x6b
ja case.default.0x414744
invalid
jmp 0x8ce6c47
jmp dword [ecx*4 + 0x4c8608]
add edx, 0xffffb000
jmp 0x414728
add dword [eax], eax
add byte [ebx - 0x5e14513e], al
mov byte [esi + 0x4c], 0
mov ecx, 0xfffc01ff
and ecx, dword [esi + 0x40]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + edi*4 + 0x190]
shl edx, 9
add edx, 0xffff4800
jmp 0x414728
mov dword [esi + 0x48], edx
jmp case.default.0x414744
dec ecx
add al, byte [ecx + ebp*8]
pop eax
invalid
dec ecx
add eax, dword [ecx]
jmp case.default.0x414744
dec ecx
add ah, byte [eax]
jmp case.default.0x414744
add al, byte [eax]
add cl, ch
add al, 0xff
invalid
dec ecx
add dl, byte [eax]
jmp case.default.0x414744
dec ecx
add eax, dword [edx]
jmp case.default.0x414744
add byte [eax], al
add cl, ch
invalid
add byte [eax], al
add cl, ch
sahf
invalid
add byte [eax], al
add cl, ch
js 0x4148b1
invalid
dec ecx
add cl, byte [eax]
jmp case.default.0x414744
invalid
popal
add dh, bh
jmp case.default.0x414744
popal
add bl, bh
jmp case.default.0x414744
add byte [eax], al
add cl, ch
invalid
popal
add edi, ebp
jmp case.default.0x414744
inc esi
dec eax
add byte [eax], al
add byte [eax], al
jmp 0x4149fd
mov dword [esi + 0x40], ecx
jmp case.default.0x414744
inc esi
dec esp
add byte [eax], al
add byte [eax], al
jmp 0x414a60
lea edi, [ecx + 4]
cmp edi, eax
jge 0x414ab9
cmp dword [esi + ecx*4 + 0x194], 2
jne 0x414ab9
mov byte [esi + 0x48], 1
mov ebx, dword [esi + ecx*4 + 0x198]
xor edx, edx
cmp ebx, 0x100
cmovae ebx, edx
mov byte [esi + 0x49], bl
mov ebx, dword [esi + ecx*4 + 0x19c]
cmp ebx, 0x100
cmovae ebx, edx
mov byte [esi + 0x4a], bl
mov ebx, dword [esp + 0xc]
mov ecx, dword [esi + ecx*4 + 0x1a0]
cmp ecx, 0x100
cmovb edx, ecx
mov byte [esi + 0x4b], dl
jmp case.default.0x414744
lea edi, [ecx + 4]
cmp edi, eax
jge 0x414ab9
cmp dword [esi + ecx*4 + 0x194], 2
jne 0x414ab9
mov byte [esi + 0x4c], 1
mov ebx, dword [esi + ecx*4 + 0x198]
xor edx, edx
cmp ebx, 0x100
cmovae ebx, edx
mov byte [esi + 0x4d], bl
mov ebx, dword [esi + ecx*4 + 0x19c]
cmp ebx, 0x100
cmovae ebx, edx
mov byte [esi + 0x4e], bl
mov ebx, dword [esp + 0xc]
mov ecx, dword [esi + ecx*4 + 0x1a0]
cmp ecx, 0x100
cmovb edx, ecx
mov byte [esi + 0x4f], dl
jmp case.default.0x414744
invalid
dec dword [ecx - 0x3921631]
invalid
mov edi, ecx
jmp case.default.0x414744
push 0
push eax
push edi
push dword [esi + 0x1060]
adc byte [eax], al
add cl, ch
out 0xff, eax
invalid
adc byte [eax], al
add cl, ch
out 0xff, eax
push esi
push es
add cl, byte [edi]
test byte [ebx - 0x74000006], ch
mov esi, 0x210
cmp edi, 2
jg case.default.0x412be6
mov edx, dword [esi + 0x128]
mov eax, dword [esi + 0x190]
cmp eax, edx
cmova eax, edx
mov dword [esi + 0x190], eax
mov ebx, dword [esi + 0x194]
cmp ebx, edx
cmova ebx, edx
mov dword [esi + 0x194], ebx
xor ecx, ecx
sub eax, 1
cmovb eax, ecx
test ebx, ebx
cmove ebx, edx
cmp edi, 2
cmovne ebx, edx
add ebx, 0xffffffff
lea edi, [edx - 1]
cmp ebx, edx
cmovl edi, ebx
cmp edi, eax
jle case.default.0x412be6
mov dword [esi + 0xa4], eax
mov dword [esi + 0xa8], edi
mov dword [esi + 0x98], 0
cmp byte [esi + 0xac], 0
cmovne ecx, eax
mov dword [esi + 0x94], ecx
add byte [eax], al
add cl, ch
std
stc
invalid
invalid
add byte [eax], al
add cl, ch
std
stc
invalid
add byte [eax], al
add cl, ch
mov bh, 0xf9
invalid
call fcn.00419d08
add esp, 4
jmp 0x41397f
dec edi
add byte [eax], al
jmp 0x4145b2
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x10]
mov dword [ebx + 0x10], eax
mov eax, dword [ecx + 0xc]
mov dword [ebx + 0xc], eax
mov eax, dword [ecx + 8]
mov dword [ebx + 8], eax
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ebx + 4], ecx
mov dword [ebx], eax
cmp byte [esi + 0xc6], 0
je case.default.0x412be6
mov eax, 0x3ffff
and eax, dword [esi + 0x40]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x78], eax
jmp case.default.0x412be6
mov esi, ecx
mov ecx, edi
lea edi, [edx - 1]
mov ebx, ecx
cmp edx, 1
mov edx, edi
jle 0x414e10
test ebx, ebx
jle 0x414e0e
lea edi, [ebx - 1]
mov dword [esi + 0x98], edi
xor ecx, ecx
cmp ebx, 1
je 0x414d2d
mov ecx, esi
mov ebx, dword [esi + 0xe20]
cmp byte [ebx + edi], 0
jne 0x414d29
mov esi, ebp
lea ebp, [edi - 1]
mov dword [ecx + 0x98], ebp
cmp edi, 2
mov edi, ebp
mov ebp, esi
jae 0x414d5d
mov esi, ecx
xor ecx, ecx
jmp 0x414d2d
and eax, 0xffdfffff
mov ecx, dword [esp + 4]
mov dword [ecx], eax
jmp case.default.0x412be6
mov ecx, ebx
mov edx, dword [esi + 0x94]
xor ebx, ebx
cmp dword [esi + 0xe40], eax
setg bl
xor eax, eax
cmp dword [esi + 0xe3c], edx
setg al
cmove eax, ebx
cmp al, 1
jne case.default.0x412be6
xor eax, eax
cmp dword [esi + 0xe38], ecx
setl al
xor ecx, ecx
cmp dword [esi + 0xe34], edx
setl cl
cmove ecx, eax
cmp cl, 1
je 0x41397f
jmp case.default.0x412be6
push eax
jmp 0x413288
add byte [eax], al
add ecx, ebp
inc ebp
idiv edi
dec dword [ebp - 0x67c3cb8]
lea ecx, [eax - 0x3d]
cmp ecx, 8
ja 0x414f23
or dword [esi], 0x1ff
lea ecx, [eax - 0x3d]
cmp ecx, 8
ja 0x414f23
or dword [esi], 0x1ff
add dword [eax], eax
add cl, ch
idiv edi
inc dword [ecx + 0x1ff26]
add dword [eax], eax
jmp case.default.0x412be6
add dword [eax], eax
add cl, ch
and esi, edi
invalid
cmp eax, 0x32
jne case.default.0x412be6
clc
xor cl, byte [edi]
test dword [esi + esi*8 - 0x79380001], ebp
push ds
or al, byte [eax]
add byte [ebx], bl
pop ebx
aas
add byte [ebx + 0x210be], al
add byte [edx], al
mov dword [esi + 0xa1e], 0x3f5b1b
cmp dword [esi + 0x210], 2
mov ebx, dword [esp + 0x2c]
jl 0x414fb9
push dword [esi + 0x194]
push 0x4de310
lea edi, [esp + 0x54]
push edi
call fcn.00401008
add esp, 0xc
push edi
push ebx
call fcn.004b1388
add esp, 8
cmp dword [esi + 0x210], 3
jl 0x414fb9
mov edi, 0x66
push ebx
call fcn.004b19c8
add esp, 4
mov word [esi + eax + 0xa1e], 0x3b
push dword [esi + edi*4]
push 0x4de310
lea eax, [esp + 0x54]
push eax
call fcn.00401008
add esp, 0xc
lea eax, [esp + 0x4c]
push eax
push ebx
call fcn.004b1388
add esp, 8
lea eax, [edi + 1]
add edi, 0xffffff9d
cmp edi, dword [esi + 0x210]
mov edi, eax
jl 0x414f73
push ebx
call fcn.004b19c8
add esp, 4
mov word [esi + eax + 0xa1e], 0x63
jmp case.default.0x412be6
add esp, 0x10
jmp 0x414b15
add ebp, dword [eax + 0x21]
mov ecx, dword [esi]
jmp 0x415231
push ebx
call fcn.0041c608
add esp, 0x10
push 0
push edi
push ebp
push dword [esi + 0x1060]
call fcn.0041c608
add esp, 0x10
push 0
push 2
push 0x4e7f24
push dword [esi + 0x1060]
call fcn.0041c608
add esp, 0x10
mov ebp, dword [esp + 8]
jmp case.default.0x412be6
mov eax, dword [esp + 0x48]
cmp eax, 0x5a
jle 0x415298
cmp eax, 0x5b
je 0x4152c2
cmp eax, 0x69
je 0x4152de
cmp eax, 0x9b
je 0x4152cf
jmp 0x412118
cmp eax, 0x1b
je 0x415301
cmp eax, 0x34
jne 0x412118
cmp dword [esi + 0xe8], 2
jne 0x412118
mov dword [esi + 0xe8], 3
jmp 0x412122
cmp dword [esi + 0xe8], 1
jne 0x412118
mov dword [esi + 0xe8], 2
jmp 0x412122
cmp dword [esi + 0xe8], 3
jne 0x412118
mov dword [esi + 0xe8], 4
mov ecx, esi
call fcn.0040d9e8
jmp 0x412122
mov dword [esi + 0xe8], 1
jmp 0x412122
mov ebp, dword [esp + 0x28]
push edi
push ebp
call fcn.0043eba8
add esp, 8
cmp byte [esp + 0x40], 0
mov ebx, dword [esp + 0x30]
jne 0x415342
push ebp
call fcn.0042c238
add esp, 4
mov ecx, dword [esi + 0x1064]
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0x5c]
add esp, 8
push ebx
call fcn.0042c238
add esp, 4
cmp eax, 6
jb 0x415393
mov edi, eax
nop
nop
nop
nop
nop
nop
push ebx
call fcn.0043ec38
add esp, 4
add edi, 0xfffffffb
cmp edi, edx
cmovae edi, edx
push edi
push eax
push dword [esi + 0x100]
call fcn.0043f208
add esp, 0xc
push edi
push ebx
call fcn.0043eba8
add esp, 8
push ebx
call fcn.0042c238
add esp, 4
mov edi, eax
cmp eax, 5
ja 0x415358
cmp byte [esi + 0x10ed], 0
je 0x4153af
mov eax, dword [esi + 0x1068]
test eax, eax
je 0x4153af
push eax
call fcn.00424b58
add esp, 4
mov ecx, dword [esp + 0xdc]
xor ecx, esp
call fcn.0049e348
add esp, 0xe0
pop esi
pop edi
pop ebx
pop ebp
ret
xor edi, edi
jmp 0x415314