Function at 0x40ea30
Capabilities:
Check for software breakpoints

Disassembly:
sub esp, 0x190
mov eax, dword [0x45e508]
xor eax, esp
mov dword [esp + 0x18c], eax
push ebx
push ebp
push esi
push edi
push 0xff
xor ebp, ebp
lea eax, [esp + 0xa1]
mov ebx, ecx
push ebp
push eax
mov dword [esp + 0x30], ebx
mov esi, edx
mov byte [esp + 0xa8], 0
call fcn.00432dc0
mov edx, dword [esp + 0x1b4]
mov ecx, dword [esp + 0x1b0]
mov eax, 4
or edi, 0xffffffff
mov dword [0x4627e0], ebx
add esp, 0xc
mov dword [0x462800], edx
mov edx, dword [0x4627e0]
mov dword [0x4627dc], eax
mov dword [0x4627f8], eax
mov dword [0x46280c], edi
mov dword [0x4627e8], ebp
mov dword [0x4627d4], ebp
mov dword [0x4627e4], ebp
mov dword [0x462810], ebp
mov dword [esp + 0x18], ebp
mov dword [0x4627d8], ebp
mov dword [0x4627f0], ebp
mov dword [0x4627f4], 0x20
mov dword [0x4627fc], ebp
mov dword [0x4627ec], ebp
mov dword [esp + 0x20], ebp
mov dword [0x462808], esi
mov dword [esi], ecx
mov byte [esi + 0x204], 0
mov dword [esi + 0x304], 0xf0
mov dword [esi + 0x30c], ebp
mov dword [esi + 0x308], ebp
mov dword [esi + 0x310], ebp
mov dword [esi + 0x314], ebp
mov dword [esi + 0x318], ebp
mov dword [esi + 0x31c], ebp
mov dword [esi + 0x320], ebp
mov dword [esi + 0x324], ebp
mov dword [esi + 0x328], ebp
mov dword [esi + 0x32c], ebp
mov dword [esi + 0x334], ebp
mov dword [esi + 0x330], ebp
xor ebx, ebx
lea ecx, [ecx]
movzx ecx, byte [edx]
lea eax, [ecx - 0x26]
cmp eax, 0xcd
ja case.0x40eb68.39
movzx eax, byte [eax + 0x410370]
jmp dword [eax*4 + 0x410340]
cmp edi, 0xffffffff
jne 0x40ed7e
xor edi, edi
mov dword [0x46280c], edi
jmp 0x40ec5f
cmp edi, 0xffffffff
jne 0x40ed7e
mov edi, 1
mov dword [0x46280c], edi
jmp 0x40ec5f
cmp edi, 0xffffffff
jne 0x40ed7e
mov edi, 2
mov dword [0x46280c], edi
jmp 0x40ec5f
cmp edi, 0xffffffff
jne 0x40ed7e
mov edi, 3
mov dword [0x46280c], edi
jmp 0x40ec5f
cmp edi, 0xffffffff
jne 0x40ed7e
mov edi, 4
mov dword [0x46280c], edi
jmp 0x40ec5f
cmp edi, 0xffffffff
jne 0x40ed7e
mov edi, 5
mov dword [0x46280c], edi
jmp 0x40ec5f
cmp dword [0x4627f8], 4
jne 0x40ed7e
mov dword [0x4627f8], 2
jmp 0x40ec5f
cmp dword [0x4627dc], 4
jne 0x40ed7e
mov dword [0x4627dc], 2
jmp 0x40ec5f
cmp dword [esp + 0x18], 0
jne 0x40ed7e
mov dword [esp + 0x18], 0xf0
jmp 0x40ec5f
test ebp, ebp
jne 0x40ed7e
mov ebp, 0xf2
jmp 0x40ec5f
test ebp, ebp
jne 0x40ed7e
mov ebp, 0xf3
cmp dword [0x462800], 3
jl 0x40ec99
push ecx
mov ecx, dword [0x4627d8]
lea edx, [esi + ecx + 4]
push str._02X:
push edx
call fcn.0043209d
mov edi, dword [0x46280c]
mov esi, dword [0x462808]
mov edx, dword [0x4627e0]
add esp, 0xc
add dword [0x4627d8], eax
mov eax, dword [0x4627f4]
mov ecx, 1
add dword [esi + 0x30c], ecx
add dword [esp + 0x1a4], ecx
sub eax, ecx
add edx, ecx
add ebx, ecx
test eax, eax
mov dword [0x4627e0], edx
mov dword [0x4627f4], eax
ja 0x40eb50
cmp dword [esp + 0x18], 0
je 0x40ed13
cmp dword [0x462800], 3
jl 0x40ed0c
mov ecx, dword [0x4627f0]
lea edx, [esi + ecx + 0x104]
push str.LOCK
push edx
call fcn.0043209d
mov edi, dword [0x46280c]
mov esi, dword [0x462808]
mov edx, dword [0x4627e0]
add esp, 8
add dword [0x4627f0], eax
or dword [esi + 0x334], 0x40
mov eax, dword [0x4627f4]
test eax, eax
mov dword [esp + 0x14], 0
jbe 0x40ed2a
mov cl, byte [edx]
mov byte [esp + 0x14], cl
cmp eax, 1
jbe 0x40ed36
mov cl, byte [edx + 1]
mov byte [esp + 0x15], cl
cmp eax, 2
jbe 0x40ed42
mov dl, byte [edx + 2]
mov byte [esp + 0x16], dl
test ebp, ebp
mov ebx, dword [esp + 0x14]
je 0x40ed53
shl ebx, 8
or ebx, ebp
mov dword [esp + 0x14], ebx
cmp dword [0x46284c], 0
je 0x40eec2
movzx eax, word [esp + 0x14]
cmp eax, 0x20cd
jne 0x40eec2
mov edx, 0x450b78
mov dword [esp + 0x10], edx
jmp 0x40ef20
cmp dword [0x462800], 3
jl 0x40ee91
sub edx, ebx
mov byte [esi + 7], 0
mov dword [esi + 0x30c], 1
movzx eax, byte [edx]
add eax, 0xffffffda
cmp eax, 0xcd
ja case.0x40edaf.39
movzx eax, byte [eax + 0x410470]
jmp dword [eax*4 + 0x410440]
mov eax, dword [0x45f87c]
jmp 0x40ee08
mov eax, dword [0x45f880]
jmp 0x40ee08
mov eax, dword [0x45f884]
jmp 0x40ee08
mov eax, dword [0x45f888]
jmp 0x40ee08
mov eax, dword [0x45f88c]
jmp 0x40ee08
mov eax, dword [0x45f890]
jmp 0x40ee08
mov eax, str.DATASIZE
jmp 0x40ee08
mov eax, str.ADDRSIZE
jmp 0x40ee08
mov eax, 0x4539a4
jmp 0x40ee08
mov eax, str.REPNE
jmp 0x40ee08
mov eax, str.REPE
jmp 0x40ee08
mov eax, 0x4539bc
mov ecx, dword [0x4627f0]
push eax
lea edx, [esi + ecx + 0x104]
push str.PREFIX__s:
push edx
call fcn.0043209d
add dword [0x4627f0], eax
mov eax, dword [0x462808]
add eax, 0x104
push eax
call fcn.0044497e
mov esi, dword [0x462808]
add esp, 0x10
cmp dword [0x46285c], 0
jne 0x40ee91
mov ecx, dword [str.Superfluous_prefix]
mov dword [esi + 0x204], ecx
mov edx, dword [0x4539d0]
mov dword [esi + 0x208], edx
mov eax, dword [0x4539d4]
mov dword [esi + 0x20c], eax
mov ecx, dword [0x4539d8]
mov dword [esi + 0x210], ecx
mov dx, word [0x4539dc]
mov word [esi + 0x214], dx
mov al, byte [0x4539de]
mov byte [esi + 0x216], al
or dword [esi + 0x334], 0x20
cmp dword [esp + 0x18], 0
mov eax, dword [esi + 0x334]
je 0x40eeae
or eax, 0x40
mov dword [esi + 0x334], eax
mov dword [esi + 0x304], 8
mov eax, 1
jmp 0x410325
mov ecx, dword [0x46283c]
mov edx, 0x44ddb0
mov dword [esp + 0x10], edx
mov eax, 0xff
mov edx, dword [edx + 4]
xor edx, ebx
test eax, edx
jne 0x40ef08
cmp dword [0x462800], 3
jl 0x40ef1c
test ecx, ecx
je 0x40ef1c
mov edx, dword [esp + 0x10]
mov al, byte [edx + 0xa]
cmp al, 0x26
je 0x40ef0c
cmp al, 0x27
je 0x40ef0c
mov al, byte [edx + 0xb]
cmp al, 0x26
je 0x40ef0c
cmp al, 0x27
jne 0x40ef20
jmp 0x40ef0c
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x14]
add edx, 0x14
test eax, eax
mov dword [esp + 0x10], edx
jne 0x40eed6
jmp 0x40ef20
mov edx, dword [esp + 0x10]
mov al, byte [edx + 0xd]
and al, 0xf0
cmp al, 0xe0
mov ebx, 1
jne 0x40ef82
mov dword [esp + 0x20], ebx
call fcn.0040e950
test eax, eax
mov edx, dword [esp + 0x10]
jge 0x40ef4b
mov dword [esi + 0x330], 2
jmp 0x40ef86
mov ecx, dword [edx]
test ecx, ecx
je 0x40ef8b
mov ebx, dword [esp + 0x14]
mov edx, dword [edx + 4]
xor edx, ebx
test ecx, edx
mov edx, dword [esp + 0x10]
jne 0x40ef6a
movzx ecx, byte [edx + 6]
cmp ecx, eax
je 0x40ef7d
mov ecx, dword [edx + 0x14]
add edx, 0x14
test ecx, ecx
mov dword [esp + 0x10], edx
jne 0x40ef55
lea ebx, [ecx + 1]
jmp 0x40ef8b
mov ebx, 1
mov edx, dword [esp + 0x10]
cmp dword [edx], 0
jne 0x40efad
cmp dword [0x4627f4], 2
mov dword [esi + 0x304], 0xf0
sbb edx, edx
neg edx
add edx, ebx
mov dword [esi + 0x330], edx
jmp 0x40fc2c
cmp edi, 4
movsx eax, byte [edx + 0xd]
mov ecx, dword [0x4627f8]
mov dword [esi + 0x304], eax
mov dword [esp + 0x28], ecx
je 0x40efd2
cmp edi, 5
je 0x40efd2
cmp dword [esp + 0x18], 0
je 0x40efdb
or eax, 8
mov dword [esi + 0x304], eax
movsx eax, byte [edx + 9]
cmp eax, 0x80
jne 0x40efef
or dword [esi + 0x334], 4
jmp 0x40effd
cmp eax, 0x81
jne 0x40effd
or dword [esi + 0x334], 8
mov ecx, dword [0x4627e0]
mov al, byte [ecx]
cmp al, 0x44
je 0x40f02f
cmp al, 0x4c
je 0x40f02f
cmp dword [0x4627f4], 3
jb 0x40f040
cmp al, 0x81
je 0x40f01e
cmp al, 0x83
jne 0x40f040
mov al, byte [ecx + 1]
cmp al, 0xc4
je 0x40f029
cmp al, 0xec
jne 0x40f040
test byte [ecx + 2], 3
je 0x40f040
or dword [esi + 0x334], 0x80
or dword [esi + 0x304], 8
cmp byte [ecx], 0x8e
jne 0x40f04c
or dword [esi + 0x334], 2
cmp byte [edx + 8], 2
jne 0x40f0bb
cmp dword [0x4627f4], 0
jne 0x40f06d
mov ecx, dword [0x4627f0]
mov dword [esi + 0x330], 2
jmp 0x40f0ca
cmp dword [0x462800], 3
jl 0x40f0a8
mov edx, dword [0x4627e0]
movzx eax, byte [edx]
mov ecx, dword [0x4627d8]
push eax
lea edx, [esi + ecx + 4]
push 0x44dce4
push edx
call fcn.0043209d
mov esi, dword [0x462808]
mov edx, dword [esp + 0x1c]
add esp, 0xc
add dword [0x4627d8], eax
add dword [0x4627e0], ebx
add dword [esp + 0x1a4], ebx
sub dword [0x4627f4], ebx
cmp dword [0x4627f4], 0
mov ecx, dword [0x4627f0]
jne 0x40f0d4
mov dword [esi + 0x330], 2
mov al, byte [edx + 9]
test al, 1
je 0x40f0ee
mov edi, dword [0x4627e0]
test byte [edi], 1
jne 0x40f0ee
mov dword [0x4627f8], ebx
jmp 0x40f113
test al, 8
je 0x40f105
mov edi, dword [0x4627e0]
test byte [edi], 8
jne 0x40f105
mov dword [0x4627f8], ebx
jmp 0x40f113
test al, 0x20
je 0x40f113
mov dword [0x4627f8], 2
cmp dword [0x462800], 3
jl 0x40f30c
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov cl, byte [eax]
cmp cl, 0x26
jne 0x40f136
mov edi, dword [0x4627f8]
jmp 0x40f141
cmp cl, 0x24
jne 0x40f1ac
mov edi, dword [0x4627dc]
test edi, edi
je 0x40f1ac
xor ecx, ecx
add eax, 1
cmp byte [eax], cl
je 0x40f19d
mov ebx, dword [0x462840]
mov edx, eax
mov al, byte [edx]
cmp al, 0x3a
jne 0x40f165
cmp edi, 4
jne 0x40f19d
xor ecx, ecx
jmp 0x40f195
cmp al, 0x2a
jne 0x40f18b
cmp edi, 4
jne 0x40f17d
cmp ebx, 2
je 0x40f195
mov byte [esp + ecx + 0x9c], 0x44
jmp 0x40f192
test ebx, ebx
je 0x40f195
mov byte [esp + ecx + 0x9c], 0x57
jmp 0x40f192
mov byte [esp + ecx + 0x9c], al
add ecx, 1
add edx, 1
cmp byte [edx], 0
jne 0x40f156
mov byte [esp + ecx + 0x9c], 0
mov ebx, 1
jmp 0x40f1f0
lea edx, [esp + 0x9c]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, ebx
test cl, cl
jne 0x40f1b5
xor eax, eax
cmp byte [esp + 0x9c], al
je 0x40f1f0
jmp 0x40f1d0
cmp byte [esp + eax + 0x9c], 0x2c
je 0x40f1e8
add eax, ebx
cmp byte [esp + eax + 0x9c], 0
jne 0x40f1d0
jmp 0x40f1f0
mov byte [esp + eax + 0x9c], 0
test ebp, ebp
je 0x40f2bf
cmp dword [0x462828], 0
je 0x40f2bf
mov ebp, dword [0x4627f0]
xor edi, edi
cmp byte [esp + 0x9c], 0
je 0x40f246
jmp 0x40f220
mov al, byte [esp + edi + 0x9c]
cmp al, 0x20
je 0x40f240
mov byte [esi + ebp + 0x104], al
add edi, ebx
add ebp, ebx
cmp byte [esp + edi + 0x9c], 0
jne 0x40f220
mov dword [0x4627f0], ebp
cmp byte [esp + edi + 0x9c], 0x20
jne 0x40f262
mov byte [esi + ebp + 0x104], 0x20
add ebp, ebx
mov dword [0x4627f0], ebp
add edi, ebx
cmp ebp, 8
jge 0x40f294
mov ebp, dword [0x4627f0]
mov ebx, 8
sub ebx, ebp
push ebx
lea eax, [esi + ebp + 0x104]
push 0x20
push eax
call fcn.00432dc0
add esp, 0xc
add ebp, ebx
mov dword [0x4627f0], ebp
mov ebx, 1
cmp byte [esp + edi + 0x9c], 0
lea eax, [esp + edi + 0x9c]
je 0x40f2ed
mov cl, byte [eax]
mov byte [esi + ebp + 0x104], cl
add eax, ebx
add ebp, ebx
cmp byte [eax], 0
jne 0x40f2a5
mov dword [0x4627f0], ebp
jmp 0x40f2ed
mov eax, dword [0x4627f0]
lea edx, [esp + 0x9c]
push edx
lea ecx, [esi + eax + 0x104]
push 0x45164c
push ecx
call fcn.0043209d
mov esi, dword [0x462808]
add esp, 0xc
add dword [0x4627f0], eax
add esi, 0x104
push esi
call fcn.0044497e
mov esi, dword [0x462808]
mov ecx, dword [0x4627f0]
mov edx, dword [esp + 0x14]
add esp, 4
xor ebp, ebp
mov dword [esp + 0x1c], ebp
jmp 0x40f326
mov ecx, dword [0x4627f0]
cmp dword [esi + 0x330], 0
jne 0x40fbcf
test ebp, ebp
jne 0x40f354
mov al, byte [edx + 0xb]
test al, al
je 0x40f354
movsx eax, al
cmp eax, 0x80
jge 0x40f354
movsx edi, byte [edx + 0xa]
mov dword [0x462804], ebp
jmp 0x40f372
test ebp, ebp
mov dword [0x462804], ebx
jne 0x40f364
movsx edi, byte [edx + 0xa]
jmp 0x40f372
cmp ebp, ebx
jne 0x40f36e
movsx edi, byte [edx + 0xb]
jmp 0x40f372
movsx edi, byte [edx + 0xc]
test edi, edi
je 0x40fbcf
cmp dword [0x462800], 3
jl 0x40f408
cmp edi, 0x80
jge 0x40f408
test ebp, ebp
jne 0x40f3df
mov byte [esi + ecx + 0x104], 0x20
add ecx, ebx
cmp dword [0x462828], ebp
mov dword [0x4627f0], ecx
je 0x40f408
cmp ecx, 8
jge 0x40f408
mov ebp, ecx
mov ebx, 8
sub ebx, ebp
push ebx
lea eax, [esi + ebp + 0x104]
push 0x20
push eax
call fcn.00432dc0
add esp, 0xc
add ebp, ebx
mov dword [0x4627f0], ebp
mov ebp, dword [esp + 0x1c]
mov ebx, 1
jmp 0x40f408
mov byte [esi + ecx + 0x104], 0x2c
add ecx, ebx
cmp dword [0x46282c], 0
mov dword [0x4627f0], ecx
je 0x40f408
mov byte [esi + ecx + 0x104], 0x20
add ecx, ebx
mov dword [0x4627f0], ecx
lea eax, [edi - 1]
cmp eax, 0x87
ja case.0x40f41d.57
movzx ecx, byte [eax + 0x4105dc]
jmp dword [ecx*4 + 0x410540]
mov eax, 2
cmp dword [0x4627f4], eax
jae 0x40f442
mov dword [esi + 0x330], eax
mov dword [0x4627d4], ebx
jmp case.0x40f41d.128
mov edx, dword [0x4627e0]
movzx edx, byte [edx + 1]
mov ecx, dword [0x4627f8]
push ebx
shr edx, 3
call fcn.0040d3a0
mov esi, dword [0x462808]
add esp, 4
mov dword [0x4627d4], ebx
jmp case.0x40f41d.128
mov eax, dword [0x4627e0]
movzx edx, byte [eax]
mov ecx, dword [0x4627f8]
push 2
call fcn.0040d3a0
mov esi, dword [0x462808]
add esp, 4
jmp case.0x40f41d.128
mov eax, 2
cmp dword [0x4627f4], eax
jae 0x40f4b0
mov dword [esi + 0x330], eax
mov dword [0x4627d4], ebx
jmp case.0x40f41d.128
mov ecx, dword [0x4627e0]
movzx eax, byte [ecx + 1]
xor ecx, ecx
mov dword [esp + 0x45], ecx
mov dword [esp + 0x49], ecx
mov ecx, dword [0x462800]
shr eax, 3
cmp ecx, ebx
mov byte [esp + 0x44], 0
jl 0x40f537
cmp ecx, 3
jl 0x40f537
and eax, 7
mov eax, dword [eax*4 + 0x45f858]
lea edx, [esp + 0x44]
sub edx, eax
jmp 0x40f4f0
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, ebx
test cl, cl
jne 0x40f4f0
lea edx, [esp + 0x44]
push edx
call fcn.0044497e
mov ecx, dword [0x4627f0]
mov edx, dword [0x462808]
lea eax, [esp + 0x48]
push eax
lea eax, [edx + ecx + 0x104]
push 0x45164c
push eax
call fcn.0043209d
mov esi, dword [0x462808]
add esp, 0x10
add dword [0x4627f0], eax
mov dword [0x4627d4], ebx
jmp case.0x40f41d.128
push 4
mov ecx, dword [0x4627f8]
xor edx, edx
call fcn.0040d3a0
mov esi, dword [0x462808]
add esp, 4
jmp case.0x40f41d.128
xor eax, eax
cmp dword [0x462800], ebx
mov byte [esp + 0x38], 0
mov dword [esp + 0x39], eax
mov dword [esp + 0x3d], eax
jl case.0x40f41d.128
cmp dword [0x462800], 3
jl case.0x40f41d.128
mov eax, dword [0x45f834]
lea edx, [esp + 0x38]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, ebx
test cl, cl
jne 0x40f592
lea ecx, [esp + 0x38]
push ecx
call fcn.0044497e
mov eax, dword [0x4627f0]
mov ecx, dword [0x462808]
lea edx, [esp + 0x3c]
push edx
lea edx, [ecx + eax + 0x104]
push 0x45164c
push edx
call fcn.0043209d
mov esi, dword [0x462808]
add esp, 0x10
add dword [0x4627f0], eax
jmp case.0x40f41d.128
xor eax, eax
cmp dword [0x462800], ebx
mov byte [esp + 0x2c], 0
mov dword [esp + 0x2d], eax
mov dword [esp + 0x31], eax
jl case.0x40f41d.128
cmp dword [0x462800], 3
jl case.0x40f41d.128
mov eax, dword [0x45f83c]
lea edx, [esp + 0x2c]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, ebx
test cl, cl
jne 0x40f610
lea eax, [esp + 0x2c]
push eax
call fcn.0044497e
mov edx, dword [0x4627f0]
mov eax, dword [0x462808]
lea ecx, [esp + 0x30]
push ecx
lea ecx, [eax + edx + 0x104]
push 0x45164c
push ecx
call fcn.0043209d
mov esi, dword [0x462808]
add esp, 0x10
add dword [0x4627f0], eax
jmp case.0x40f41d.128
push 7
mov ecx, ebx
mov edx, ebx
call fcn.0040d3a0
mov esi, dword [0x462808]
add esp, 4
jmp case.0x40f41d.128
push 0
xor ecx, ecx
call fcn.0040d490
mov esi, dword [0x462808]
add esp, 4
jmp case.0x40f41d.128
mov edx, dword [0x4627e0]
movzx ecx, byte [edx]
push 0
call fcn.0040d490
mov esi, dword [0x462808]
add esp, 4
jmp case.0x40f41d.128
mov eax, 2
cmp dword [0x4627f4], eax
jae 0x40f6c7
mov dword [esi + 0x330], eax
mov dword [0x4627d4], ebx
jmp case.0x40f41d.128
cmp dword [0x462800], 3
jl 0x40f537
mov eax, dword [0x4627e0]
movzx eax, byte [eax + 1]
mov ecx, dword [0x4627f0]
shr eax, 3
and eax, 7
push eax
push 0x4538ec
lea esi, [esi + ecx + 0x104]
push str._s_i
push esi
call fcn.0043209d
mov esi, dword [0x462808]
add esp, 0x10
add dword [0x4627f0], eax
mov dword [0x4627d4], ebx
jmp case.0x40f41d.128
mov eax, 2
cmp dword [0x4627f4], eax
jae 0x40f739
mov dword [esi + 0x330], eax
mov dword [0x4627d4], ebx
jmp case.0x40f41d.128
cmp dword [0x462800], 3
jl 0x40f537
mov edx, dword [0x4627e0]
movzx eax, byte [edx + 1]
mov ecx, dword [0x4627f0]
shr eax, 3
and eax, 7
push eax
push 0x4538ec
lea esi, [esi + ecx + 0x104]
push str._s_i
push esi
call fcn.0043209d
mov esi, dword [0x462808]
add esp, 0x10
add dword [0x4627f0], eax
mov dword [0x4627d4], ebx
jmp case.0x40f41d.128
push edi
call fcn.0040d730
mov esi, dword [0x462808]
add esp, 4
or dword [esi + 0x334], ebx
jmp case.0x40f41d.128
mov edx, dword [0x4627e0]
mov al, byte [edx + 1]
and al, 0xc0
cmp al, 0xc0
je case.0x40f41d.12
mov dword [0x4627ec], 5
push edi
call fcn.0040d730
mov esi, dword [0x462808]
add esp, 4
jmp case.0x40f41d.128
call fcn.0040e140
mov esi, dword [0x462808]
jmp case.0x40f41d.128
call fcn.0040e1c0
mov esi, dword [0x462808]
jmp case.0x40f41d.128
cmp dword [0x462800], 3
jl case.0x40f41d.128
cmp dword [0x4627dc], 2
mov dword [esi + 0x308], ebx
mov dword [esi + 0x310], ebx
mov eax, str.BXAL
je 0x40f821
mov eax, str.EBXAL
push 0
push eax
push 3
mov edx, ebx
call fcn.0040d580
mov esi, dword [0x462808]
add esp, 0xc
jmp case.0x40f41d.128
mov ecx, dword [esp + 0x10]
test byte [ecx + 9], 2
je 0x40f86c
mov edx, dword [0x4627e0]
test byte [edx], 2
je 0x40f86c
push edi
mov edi, dword [0x4627f8]
mov esi, ebx
call fcn.0040e250
mov esi, dword [0x462808]
add esp, 4
jmp case.0x40f41d.128
mov esi, dword [0x4627f8]
push edi
xor edi, edi
call fcn.0040e250
mov esi, dword [0x462808]
add esp, 4
jmp case.0x40f41d.128
call fcn.0040e430
mov esi, dword [0x462808]
jmp case.0x40f41d.128
push edi
mov edi, dword [0x4627f8]
mov esi, ebx
call fcn.0040e250
mov esi, dword [0x462808]
add esp, 4
jmp case.0x40f41d.128
cmp dword [0x462800], ebx
jl case.0x40f41d.128
cmp dword [0x462800], 3
mov dword [esi + 0x320], ebx
jl case.0x40f41d.128
mov eax, dword [0x4627f0]
lea ecx, [esi + eax + 0x104]
push 0x453960
push ecx
call fcn.0043209d
mov esi, dword [0x462808]
add esp, 8
add dword [0x4627f0], eax
jmp case.0x40f41d.128
push edi
xor edi, edi
jmp 0x40f89f
push edi
xor edi, edi
lea esi, [edi + 2]
call fcn.0040e250
mov esi, dword [0x462808]
add esp, 4
test byte [esi + 0x320], 3
je case.0x40f41d.128
or dword [esi + 0x334], 0x80
jmp case.0x40f41d.128
call fcn.0040e540
mov esi, dword [0x462808]
jmp case.0x40f41d.128
mov ebx, dword [esp + 0x1a4]
add ebx, 2
mov edi, 1
call fcn.0040e610
mov esi, dword [0x462808]
mov ebx, edi
jmp case.0x40f41d.128
mov edi, dword [0x4627f8]
mov edx, dword [esp + 0x1a4]
lea ebx, [edi + edx + 1]
call fcn.0040e610
mov esi, dword [0x462808]
mov ebx, 1
jmp case.0x40f41d.128
call fcn.0040e750
mov esi, dword [0x462808]
or dword [esi + 0x334], ebx
jmp case.0x40f41d.128
mov eax, 2
cmp dword [0x4627f4], eax
jae 0x40f9b3
mov dword [esi + 0x330], eax
mov eax, dword [0x4627e0]
movzx eax, byte [eax + 1]
shr eax, 3
call fcn.0040e800
mov esi, dword [0x462808]
mov dword [0x4627d4], ebx
jmp case.0x40f41d.128
mov ecx, dword [0x4627e0]
movzx eax, byte [ecx]
shr eax, 3
call fcn.0040e800
mov esi, dword [0x462808]
mov edx, dword [esi + 0x304]
and dl, 0xf0
cmp dl, 0x20
jne case.0x40f41d.128
or dword [esi + 0x334], 2
jmp case.0x40f41d.128
mov eax, dword [0x4627e0]
mov cl, byte [eax + 1]
and cl, 0xc0
cmp cl, 0xc0
je 0x40fa24
mov dword [esi + 0x330], 5
mov edx, dword [0x4627e0]
movzx eax, byte [edx + 1]
call fcn.0040e870
mov esi, dword [0x462808]
jmp case.0x40f41d.128
mov eax, dword [0x4627e0]
mov cl, byte [eax + 1]
and cl, 0xc0
cmp cl, 0xc0
je 0x40fa58
mov dword [esi + 0x330], 5
mov edx, dword [0x4627e0]
movzx eax, byte [edx + 1]
call fcn.0040e8e0
mov esi, dword [0x462808]
jmp case.0x40f41d.128
push 0x82
jmp 0x40f544
xor eax, eax
cmp dword [0x462800], 3
mov byte [esp + 0x7c], 0
mov dword [esp + 0x7d], eax
mov dword [esp + 0x81], eax
mov dword [esp + 0x85], eax
mov dword [esp + 0x89], eax
mov dword [esp + 0x8d], eax
mov dword [esp + 0x91], eax
mov dword [esp + 0x95], eax
mov word [esp + 0x99], ax
mov byte [esp + 0x9b], al
jl case.0x40f41d.128
push eax
push 0x4538e0
lea eax, [esp + 0x84]
push str._s__i_
push eax
call fcn.0043209d
mov esi, dword [0x462808]
add esp, 0x10
jmp case.0x40f41d.128
xor eax, eax
cmp dword [0x462800], 3
mov byte [esp + 0x5c], 0
mov dword [esp + 0x5d], eax
mov dword [esp + 0x61], eax
mov dword [esp + 0x65], eax
mov dword [esp + 0x69], eax
mov dword [esp + 0x6d], eax
mov dword [esp + 0x71], eax
mov dword [esp + 0x75], eax
mov word [esp + 0x79], ax
mov byte [esp + 0x7b], al
jl case.0x40f41d.128
push ebx
push 0x4538e0
lea ecx, [esp + 0x64]
push str._s__i_
push ecx
call fcn.0043209d
mov esi, dword [0x462808]
add esp, 0x10
jmp case.0x40f41d.128
mov ecx, dword [esp + 0x28]
push 0x87
mov edx, ebx
call fcn.0040d3a0
mov esi, dword [0x462808]
add esp, 4
jmp case.0x40f41d.128
xor eax, eax
cmp dword [0x462800], ebx
mov byte [esp + 0x50], 0
mov dword [esp + 0x51], eax
mov dword [esp + 0x55], eax
jl case.0x40f41d.128
cmp dword [0x462800], 3
jl case.0x40f41d.128
mov eax, dword [0x45f874]
lea edx, [esp + 0x50]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, ebx
test cl, cl
jne 0x40fb92
lea edx, [esp + 0x50]
push edx
call fcn.0044497e
mov esi, dword [0x462808]
add esp, 4
jmp case.0x40f41d.128
mov dword [esi + 0x330], 6
mov edx, dword [esp + 0x10]
add ebp, ebx
cmp ebp, 3
mov dword [esp + 0x1c], ebp
jl 0x40f320
mov eax, dword [0x4627fc]
test eax, eax
je 0x40fbeb
cmp dword [esi + 0x32c], 0
jle 0x40fbeb
sub eax, dword [esp + 0x24]
mov dword [esi + 0x328], eax
cmp dword [esi + 0x308], 0
jne 0x40fc1c
cmp dword [0x46280c], 0xffffffff
jne 0x40fc0e
cmp dword [0x4627dc], 4
je 0x40fc2c
mov eax, dword [edx + 0x10]
cmp byte [eax], 0x24
je 0x40fc1c
or dword [esi + 0x334], 0x20
or dword [esi + 0x304], 8
cmp dword [0x4627dc], 4
je 0x40fc2c
or dword [esi + 0x304], 8
cmp dword [esp + 0x20], 0
mov eax, dword [0x4627e4]
je 0x40fc4b
test eax, eax
je 0x40fc44
mov dword [esi + 0x330], ebx
jmp 0x40fc4b
mov eax, ebx
mov dword [0x4627e4], eax
cmp dword [esi + 0x330], 0
je 0x40fd36
cmp dword [0x462800], 3
jl 0x40fc80
push 0x4539e8
add esi, 0x104
push esi
call fcn.0043209d
mov esi, dword [0x462808]
add esp, 8
mov dword [0x4627f0], eax
cmp dword [esi + 0x330], ebx
jne 0x40fce1
mov ecx, dword [0x4627e0]
mov al, byte [ecx]
cmp al, 0xf
je 0x40fc98
cmp al, 0xff
jne 0x40fce1
cmp dword [0x4627f4], 0
jbe 0x40ff1e
cmp dword [0x462800], 3
jl 0x40fcd5
movzx edx, al
mov eax, dword [0x4627d8]
push edx
lea ecx, [esi + eax + 4]
push 0x44dce4
push ecx
call fcn.0043209d
mov esi, dword [0x462808]
add esp, 0xc
add dword [0x4627d8], eax
add dword [0x4627e0], ebx
sub dword [0x4627f4], ebx
cmp dword [0x4627f4], 0
jbe 0x40ff1e
cmp dword [0x462800], 3
jl 0x40fd25
mov edx, dword [0x4627e0]
movzx eax, byte [edx]
mov ecx, dword [0x4627d8]
push eax
lea edx, [esi + ecx + 4]
push 0x44dce4
push edx
call fcn.0043209d
mov esi, dword [0x462808]
add esp, 0xc
add dword [0x4627d8], eax
add dword [0x4627e0], ebx
sub dword [0x4627f4], ebx
jmp 0x40ff1e
cmp dword [0x462800], 3
jl 0x40fee0
mov ecx, dword [0x4627e0]
movzx eax, byte [ecx]
push eax
mov eax, dword [0x4627d8]
add ecx, ebx
mov dword [0x4627e0], ecx
lea ecx, [esi + eax + 4]
push 0x44dce4
push ecx
call fcn.0043209d
mov ecx, dword [0x4627d8]
add ecx, eax
add esp, 0xc
cmp dword [0x4627d4], 0
mov dword [0x4627d8], ecx
je 0x40fdb9
mov eax, dword [0x4627e0]
movzx edx, byte [eax]
push edx
mov edx, dword [0x462808]
add eax, ebx
mov dword [0x4627e0], eax
lea eax, [edx + ecx + 4]
push 0x44dce4
push eax
call fcn.0043209d
mov ecx, dword [0x4627d8]
add esp, 0xc
add ecx, eax
mov dword [0x4627d8], ecx
cmp dword [0x4627e8], 0
je 0x40fdf8
mov eax, dword [0x4627e0]
movzx edx, byte [eax]
push edx
mov edx, dword [0x462808]
add eax, ebx
mov dword [0x4627e0], eax
lea eax, [edx + ecx + 4]
push 0x44dce4
push eax
call fcn.0043209d
mov ecx, dword [0x4627d8]
add esp, 0xc
add ecx, eax
mov dword [0x4627d8], ecx
mov edx, dword [0x462810]
test edx, edx
mov esi, dword [0x462808]
je 0x40fe69
mov byte [esi + ecx + 4], 0x20
add ecx, ebx
xor edi, edi
test edx, edx
mov dword [0x4627d8], ecx
jle 0x40fe69
jmp 0x40fe20
mov eax, dword [0x4627e0]
movzx edx, byte [eax]
push edx
lea ecx, [esi + ecx + 4]
add eax, 1
push 0x44dce4
push ecx
mov dword [0x4627e0], eax
call fcn.0043209d
mov ecx, dword [0x4627d8]
mov edx, dword [0x462810]
mov esi, dword [0x462808]
add ecx, eax
add edi, 1
add esp, 0xc
cmp edi, edx
mov dword [0x4627d8], ecx
jl 0x40fe20
mov ebx, 1
mov eax, dword [0x4627e4]
test eax, eax
je 0x40ff05
mov byte [esi + ecx + 4], 0x20
add ecx, ebx
xor edi, edi
test eax, eax
mov dword [0x4627d8], ecx
jle 0x40ff05
lea ecx, [ecx]
mov eax, dword [0x4627e0]
movzx edx, byte [eax]
push edx
lea edx, [esi + ecx + 4]
add eax, 1
push 0x44dce4
push edx
mov dword [0x4627e0], eax
call fcn.0043209d
mov ecx, dword [0x4627d8]
mov esi, dword [0x462808]
add ecx, eax
mov eax, dword [0x4627e4]
add edi, 1
add esp, 0xc
cmp edi, eax
mov dword [0x4627d8], ecx
jl 0x40fe90
mov edx, dword [0x462810]
mov ebx, 1
jmp 0x40ff05
mov edx, dword [0x462810]
mov edi, dword [0x4627e0]
lea ecx, [eax + edx]
add ecx, dword [0x4627e8]
add ecx, dword [0x4627d4]
lea ecx, [edi + ecx + 1]
mov dword [0x4627e0], ecx
or ecx, 0xffffffff
sub ecx, eax
sub ecx, edx
sub ecx, dword [0x4627e8]
sub ecx, dword [0x4627d4]
add dword [0x4627f4], ecx
cmp dword [0x462800], ebx
jl 0x40ff7e
mov edx, dword [esp + 0x14]
mov eax, 0x450b90
mov ecx, 0xffff
mov edi, dword [eax + 4]
xor edi, edx
test ecx, edi
je 0x40ff49
mov ecx, dword [eax + 0x14]
add eax, 0x14
test ecx, ecx
jne 0x40ff34
jmp 0x40ff7e
mov al, byte [eax + 0xd]
cmp al, 7
jne 0x40ff57
cmp dword [esp + 0x18], 0
je 0x40ff7e
cmp dword [0x462868], 0
je 0x40ff64
cmp al, 1
je 0x40ff7e
cmp al, 1
jne 0x40ff74
or dword [esi + 0x334], 0x1000
jmp 0x40ff7e
or dword [esi + 0x334], 0x3000
cmp dword [esi + 0x330], 0
jne 0x40ff96
mov eax, dword [0x4627ec]
test eax, eax
je 0x40ff96
mov dword [esi + 0x330], eax
cmp dword [0x462800], 3
jl 0x41031a
mov eax, dword [esi + 0x330]
test eax, eax
je 0x4100dd
add eax, 0xffffffff
cmp eax, 5
ja case.default.0x40ffbd
jmp dword [eax*4 + 0x410664]
lea edi, [esi + 0x204]
mov ecx, 9
mov esi, str.Command_crosses_end_of_memory_block
rep movsd dword es:[edi], dword [esi]
jmp 0x41031a
mov edx, dword [str.Unknown_command]
mov dword [esi + 0x204], edx
mov eax, dword [0x453a14]
mov dword [esi + 0x208], eax
mov ecx, dword [0x453a18]
mov dword [esi + 0x20c], ecx
mov edx, dword [0x453a1c]
mov dword [esi + 0x210], edx
jmp 0x41031a
lea edi, [esi + 0x204]
mov ecx, 6
mov esi, str.Undefined_segment_register
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x41031a
mov eax, dword [str.Illegal_use_of_register]
mov dword [esi + 0x204], eax
mov ecx, dword [0x453a40]
mov dword [esi + 0x208], ecx
mov edx, dword [0x453a44]
mov dword [esi + 0x20c], edx
mov eax, dword [0x453a48]
mov dword [esi + 0x210], eax
mov ecx, dword [0x453a4c]
mov dword [esi + 0x214], ecx
mov edx, dword [0x453a50]
mov dword [esi + 0x218], edx
jmp 0x41031a
lea edi, [esi + 0x204]
mov ecx, 6
mov esi, str.Memory_address_not_allowed
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x41031a
lea edi, [esi + 0x204]
mov ecx, 5
mov esi, str.Internal_OLLYDBG_error
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x41031a
mov eax, dword [str.Unknown_error]
mov dword [esi + 0x204], eax
mov ecx, dword [0x453a8c]
mov dword [esi + 0x208], ecx
mov edx, dword [0x453a90]
mov dword [esi + 0x20c], edx
mov ax, word [0x453a94]
mov word [esi + 0x210], ax
jmp 0x41031a
mov eax, dword [esi + 0x334]
test al, 4
je 0x41013d
cmp dword [0x462850], 0
jne 0x41013d
mov ecx, dword [str.Privileged_command]
mov dword [esi + 0x204], ecx
mov edx, dword [0x453a9c]
mov dword [esi + 0x208], edx
mov eax, dword [0x453aa0]
mov dword [esi + 0x20c], eax
mov ecx, dword [0x453aa4]
mov dword [esi + 0x210], ecx
mov dx, word [0x453aa8]
mov word [esi + 0x214], dx
mov al, byte [0x453aaa]
mov byte [esi + 0x216], al
jmp 0x41031a
test al, 8
je 0x410172
cmp dword [0x462854], 0
jne 0x410172
mov ecx, dword [str.I_O_command]
mov dword [esi + 0x204], ecx
mov edx, dword [0x453ab0]
mov dword [esi + 0x208], edx
mov eax, dword [0x453ab4]
mov dword [esi + 0x20c], eax
jmp 0x41031a
test al, 1
mov ecx, dword [0x462848]
je 0x41022e
test ecx, ecx
jne 0x41022e
mov eax, dword [esi + 0x304]
and eax, 0xf0
cmp eax, 0x50
jne 0x4101c0
mov ecx, dword [str.Far_jump]
mov dword [esi + 0x204], ecx
mov edx, dword [0x453abc]
mov dword [esi + 0x208], edx
mov al, byte [0x453ac0]
mov byte [esi + 0x20c], al
jmp 0x41031a
cmp eax, 0x70
jne 0x4101ed
mov ecx, dword [str.Far_call]
mov dword [esi + 0x204], ecx
mov edx, dword [0x453ac8]
mov dword [esi + 0x208], edx
mov al, byte [0x453acc]
mov byte [esi + 0x20c], al
jmp 0x41031a
cmp eax, 0x80
jne 0x41031a
mov ecx, dword [str.Far_return]
mov dword [esi + 0x204], ecx
mov edx, dword [0x453ad4]
mov dword [esi + 0x208], edx
mov ax, word [0x453ad8]
mov word [esi + 0x20c], ax
mov cl, byte [0x453ada]
mov byte [esi + 0x20e], cl
jmp 0x41031a
test al, 2
je 0x41024e
test ecx, ecx
jne 0x41024e
lea edi, [esi + 0x204]
mov ecx, 8
mov esi, str.Modification_of_segment_register
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jmp 0x41031a
test al, 0x10
je 0x410270
cmp dword [0x462858], 0
jne 0x410270
lea edi, [esi + 0x204]
mov ecx, 8
mov esi, str.Shift_constant_out_of_range_1..31
jmp 0x410316
test al, 0x20
je 0x4102c7
cmp dword [0x46285c], 0
jne 0x4102c7
mov edx, dword [str.Superfluous_prefix]
mov dword [esi + 0x204], edx
mov eax, dword [0x4539d0]
mov dword [esi + 0x208], eax
mov ecx, dword [0x4539d4]
mov dword [esi + 0x20c], ecx
mov edx, dword [0x4539d8]
mov dword [esi + 0x210], edx
mov ax, word [0x4539dc]
mov word [esi + 0x214], ax
mov cl, byte [0x4539de]
mov byte [esi + 0x216], cl
jmp 0x41031a
test al, 0x40
je 0x4102f9
cmp dword [0x462860], 0
jne 0x4102f9
mov edx, dword [str.LOCK_prefix]
mov dword [esi + 0x204], edx
mov eax, dword [0x453b28]
mov dword [esi + 0x208], eax
mov ecx, dword [0x453b2c]
mov dword [esi + 0x20c], ecx
jmp 0x41031a
test al, al
jns 0x41031a
cmp dword [0x462864], 0
jne 0x41031a
lea edi, [esi + 0x204]
mov ecx, 6
mov esi, str.Unaligned_stack_operation
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, 0x20
sub eax, dword [0x4627f4]
mov ecx, dword [esp + 0x19c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0042f760
add esp, 0x190
ret