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

Disassembly:
push ebp
push edi
xor ebp, ebp
push esi
push ebx
xor edi, edi
sub esp, 0xeac
mov dword [0x50e5ec], 0
mov dword [0x50e5e8], 0xfffffffe
lea ebx, [esp + 0x90]
mov word [esp + 0x90], bp
lea ebp, [esp + 0x220]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x50], 0xc8
mov eax, ebx
mov dword [esp + 0x58], ebp
mov dword [esp + 0x4c], ebx
mov ebx, ebp
mov ebp, eax
movsx esi, word [edi + edi + 0x4c4040]
cmp esi, 0xfffffe42
je 0x40dd29
mov eax, dword [0x50e5e8]
cmp eax, 0xfffffffe
je 0x40e110
test eax, eax
jle 0x40e090
cmp eax, 0x161
mov edx, 2
jg 0x40dd0f
movzx edx, byte [eax + 0x4c4460]
lea eax, [edx + esi]
cmp eax, 0x33e
ja 0x40dd29
movsx ecx, word [eax + eax + 0x4c2d60]
cmp edx, ecx
je 0x40e0c0
movzx eax, word [edi + edi + 0x4c3c20]
test eax, eax
mov dword [esp + 0x54], eax
je 0x40df85
mov edi, dword [esp + 0x54]
mov eax, 1
movzx esi, byte [edi + 0x4c2b20]
sub eax, esi
shl eax, 4
add eax, ebx
mov edx, dword [eax]
mov dword [esp + 0x80], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x84], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], eax
mov eax, edi
sub eax, 0x12
cmp eax, 0x102
ja case.0x40dd8b.44
jmp dword [eax*4 + 0x4c2710]
mov eax, dword [ebx - 0x10]
mov dword [esp], eax
call fcn.00412540
mov edi, eax
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.00412540
mov dword [esp + 0x60], eax
lea eax, [edi + eax + 1]
add eax, eax
mov dword [esp], eax
mov dword [esp + 0x64], eax
call fcn.00401a90
test edi, edi
mov edx, eax
je 0x40dde3
mov eax, dword [ebx - 0x10]
lea ecx, [edi + edi]
mov dword [esp], edx
mov dword [esp + 0x68], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
call fcn.004bc590
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x60]
test eax, eax
je 0x40de0e
mov eax, dword [esp + 0x60]
lea ecx, [edx + edi*2]
mov edi, dword [ebx]
mov dword [esp + 0x68], edx
mov dword [esp], ecx
add eax, eax
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call fcn.004bc590
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
xor edi, edi
mov word [edx + eax - 2], di
mov dword [esp + 0x80], edx
mov eax, esi
mov ecx, dword [esp + 0x80]
add esi, esi
shl eax, 4
mov edx, ebp
sub ebx, eax
sub edx, esi
mov eax, ebx
movsx edi, word [edx]
lea ebx, [ebx + 0x10]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x88]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x8c]
mov dword [eax + 0x1c], ecx
mov eax, dword [esp + 0x54]
movzx eax, byte [eax + 0x4c2c40]
sub eax, 0x70
movsx ecx, word [eax + eax + 0x4c3b40]
add ecx, edi
cmp ecx, 0x33e
jbe 0x40e020
movsx edi, word [eax + eax + 0x4c3a60]
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
lea ebp, [edx + 2]
mov word [edx + 2], di
lea eax, [ecx + ecx - 2]
mov edx, esi
add edx, eax
cmp ebp, edx
jb 0x40df75
sub ebp, esi
sar ebp, 1
cmp ecx, 0x270f
lea ebx, [ebp + 1]
ja 0x410a80
add eax, 2
cmp eax, 0x2710
mov dword [esp + 0x50], eax
jbe 0x40ded1
mov dword [esp + 0x50], 0x2710
mov eax, dword [esp + 0x50]
lea eax, [eax + eax*8]
lea eax, [eax + eax + 0xf]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
test eax, eax
mov esi, eax
je 0x410a80
mov eax, dword [esp + 0x4c]
lea ebp, [ebx + ebx]
mov dword [esp], esi
shl ebx, 4
mov dword [esp + 8], ebp
mov dword [esp + 4], eax
call fcn.004bc590
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x58]
mov dword [esp + 8], ebx
add ecx, ecx
mov dword [esp + 4], edx
mov dword [esp + 0x54], ecx
add ecx, 0xf
and ecx, 0xfffffff0
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 0x58], ecx
call fcn.004bc590
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x90]
cmp eax, ecx
mov ecx, dword [esp + 0x58]
je 0x40df55
mov dword [esp], eax
mov dword [esp + 0x4c], ecx
call sub.msvcrt.dll_free
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
lea ebp, [esi + ebp - 2]
lea ebx, [ecx + ebx - 0x10]
lea eax, [esi + eax - 2]
cmp ebp, eax
jae 0x410a96
mov dword [esp + 0x58], ecx
mov dword [esp + 0x4c], esi
cmp edi, 2
jne 0x40dcd6
xor ebx, ebx
jmp 0x40e067
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x40e0a1
cmp dword [esp + 0x5c], 3
je 0x40e040
mov edx, dword [esp + 0x4c]
jmp 0x40dfbc
cmp ebp, edx
je 0x40e062
sub ebp, 2
movsx eax, word [ebp]
sub ebx, 0x10
movsx esi, word [eax + eax + 0x4c4040]
cmp esi, 0xfffffe42
je 0x40dfa2
add esi, 1
cmp esi, 0x33e
ja 0x40dfa2
cmp word [esi + esi + 0x4c2d60], 1
jne 0x40dfa2
movsx edi, word [esi + esi + 0x4c33e0]
test edi, edi
jle 0x40dfa2
mov eax, dword [0x50e5f0]
add ebx, 0x10
mov edx, ebp
mov dword [esp + 0x5c], 3
mov dword [ebx], eax
mov eax, dword [0x50e5f4]
mov dword [ebx + 4], eax
mov eax, dword [0x50e5f8]
mov dword [ebx + 8], eax
mov eax, dword [0x50e5fc]
mov dword [ebx + 0xc], eax
jmp 0x40de89
cmp di, word [ecx + ecx + 0x4c2d60]
jne 0x40de81
movsx edi, word [ecx + ecx + 0x4c33e0]
jmp 0x40de89
cmp dword [0x50e5e8], 0
jle 0x40e05c
mov dword [0x50e5e8], 0xfffffffe
mov edx, dword [esp + 0x4c]
jmp 0x40dfbc
jne 0x40df9c
mov ebx, 1
mov eax, dword [esp + 0x4c]
lea edi, [esp + 0x90]
cmp eax, edi
je 0x40e07e
mov dword [esp], eax
call sub.msvcrt.dll_free
add esp, 0xeac
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [0x50e5e8], 0
xor edx, edx
jmp 0x40dd0f
mov dword [esp], 0x4c26f0
add dword [0x50e5ec], 1
call fcn.004065b0
mov edx, dword [esp + 0x4c]
jmp 0x40dfbc
movsx edi, word [eax + eax + 0x4c33e0]
test edi, edi
jle 0x40e11f
mov eax, dword [esp + 0x5c]
mov dword [0x50e5e8], 0xfffffffe
mov edx, ebp
cmp eax, 1
adc eax, 0xffffffff
add ebx, 0x10
mov dword [esp + 0x5c], eax
mov eax, dword [0x50e5f0]
mov dword [ebx], eax
mov eax, dword [0x50e5f4]
mov dword [ebx + 4], eax
mov eax, dword [0x50e5f8]
mov dword [ebx + 8], eax
mov eax, dword [0x50e5fc]
mov dword [ebx + 0xc], eax
jmp 0x40de89
call fcn.00410f90
mov dword [0x50e5e8], eax
jmp 0x40dcf4
neg edi
mov dword [esp + 0x54], edi
jmp 0x40dd3d
mov eax, dword [ebx - 0x10]
mov dword [esp + 0x10], eax
lea eax, [ebx - 0x30]
mov dword [esp + 0xc], eax
mov eax, dword [ebx - 0x50]
mov dword [esp], eax
mov eax, dword [ebx - 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x48]
mov dword [esp + 8], eax
call fcn.00407630
cmp dword [0x50e5e8], 0xfffffffe
je 0x40e1b5
mov eax, esi
add esi, esi
mov edx, dword [esp + 0x4c]
shl eax, 4
sub ebp, esi
sub ebx, eax
movsx eax, word [ebp]
movsx esi, word [eax + eax + 0x4c4040]
jmp 0x40dfbc
mov dword [esp + 0x10], 0x509140
mov dword [esp + 0xc], 0x509184
mov eax, dword [ebx - 0xc0]
mov dword [esp], eax
mov eax, dword [ebx - 0xbc]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0xb8]
mov dword [esp + 8], eax
call fcn.00406c30
cmp dword [0x50e5e8], 0xfffffffe
jne 0x40e15a
call fcn.00410f30
jmp case.0x40dd8b.44
and byte [esp + 0x80], 0xfe
mov dword [esp + 0x84], 0x11
jmp case.0x40dd8b.44
and byte [esp + 0x80], 0xfe
mov dword [esp + 0x84], 0x14
jmp case.0x40dd8b.44
and byte [esp + 0x80], 0xfe
mov dword [esp + 0x84], 0x13
jmp case.0x40dd8b.44
mov ecx, dword [ebx]
mov eax, dword [ebx - 0x20]
test ecx, ecx
jne 0x40e216
mov ecx, 1
xor edx, edx
mov edi, dword [ebx - 0x1c]
div ecx
test edi, edi
mov dword [esp + 0x80], eax
mov eax, 1
jne 0x40e235
mov ecx, dword [ebx + 4]
test ecx, ecx
setne al
movzx eax, al
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x20]
mov edx, dword [ebx - 0x1c]
imul eax, dword [ebx]
test edx, edx
mov dword [esp + 0x80], eax
mov eax, 1
jne 0x40e265
mov eax, dword [ebx + 4]
test eax, eax
setne al
movzx eax, al
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
not eax
mov dword [esp + 0x80], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov edx, dword [ebx - 0xc]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x20]
mov edi, dword [ebx - 0x1c]
or eax, dword [ebx]
test edi, edi
mov dword [esp + 0x80], eax
mov eax, 1
jne 0x40e2fb
mov ecx, dword [ebx + 4]
test ecx, ecx
setne al
movzx eax, al
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x20]
mov edx, dword [ebx - 0x1c]
xor eax, dword [ebx]
test edx, edx
mov dword [esp + 0x80], eax
mov eax, 1
jne 0x40e32a
mov eax, dword [ebx + 4]
test eax, eax
setne al
movzx eax, al
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x20]
mov edi, dword [ebx - 0x1c]
and eax, dword [ebx]
test edi, edi
mov dword [esp + 0x80], eax
mov eax, 1
jne 0x40e359
mov ecx, dword [ebx + 4]
test ecx, ecx
setne al
movzx eax, al
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x20]
mov edx, dword [ebx - 0x1c]
sub eax, dword [ebx]
test edx, edx
mov dword [esp + 0x80], eax
mov eax, 1
jne 0x40e388
mov eax, dword [ebx + 4]
test eax, eax
setne al
movzx eax, al
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov edi, dword [ebx - 0x1c]
add eax, dword [ebx - 0x20]
test edi, edi
mov dword [esp + 0x80], eax
mov eax, 1
jne 0x40e3b7
mov ecx, dword [ebx + 4]
test ecx, ecx
setne al
movzx eax, al
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov ecx, dword [ebx]
xor edx, edx
mov eax, dword [ebx - 0x20]
test ecx, ecx
je 0x40e3d5
xor edx, edx
div ecx
mov dword [esp + 0x80], edx
mov edx, dword [ebx - 0x1c]
mov eax, 1
test edx, edx
jne 0x40e3f0
mov eax, dword [ebx + 4]
test eax, eax
setne al
movzx eax, al
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov ecx, dword [ebx]
mov eax, dword [ebx - 0x20]
test ecx, ecx
jne 0x40e40d
mov ecx, 1
xor edx, edx
mov edi, dword [ebx - 0x1c]
div ecx
test edi, edi
mov dword [esp + 0x80], eax
mov eax, 1
jne 0x40e42c
mov ecx, dword [ebx + 4]
test ecx, ecx
setne al
movzx eax, al
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x20]
mov edx, dword [ebx - 0x1c]
imul eax, dword [ebx]
test edx, edx
mov dword [esp + 0x80], eax
mov eax, 1
jne 0x40e45c
mov eax, dword [ebx + 4]
test eax, eax
setne al
movzx eax, al
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
neg eax
mov dword [esp + 0x80], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
not eax
mov dword [esp + 0x80], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov edx, dword [ebx - 0xc]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 0
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
not eax
and dword [0x509124], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
or dword [0x509124], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
not eax
and dword [0x509124], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
or dword [0x509124], eax
jmp case.0x40dd8b.44
mov edi, dword [ebx]
add edi, dword [ebx - 0x10]
lea eax, [edi + edi]
mov dword [esp + 0x60], edi
mov dword [esp], eax
call fcn.00401a90
mov edi, eax
mov eax, dword [ebx - 0x10]
mov ecx, dword [ebx - 0xc]
mov dword [esp], edi
add eax, eax
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004bc590
mov eax, dword [ebx - 0x10]
mov edx, dword [ebx + 4]
lea ecx, [edi + eax*2]
mov eax, dword [ebx]
mov dword [esp + 4], edx
mov dword [esp], ecx
add eax, eax
mov dword [esp + 8], eax
call fcn.004bc590
mov edx, dword [esp + 0x60]
mov dword [esp + 0x84], edi
mov dword [esp + 0x80], edx
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
jmp case.0x40dd8b.44
mov edi, dword [ebx]
add edi, dword [ebx - 0x10]
mov dword [esp], edi
mov dword [esp + 0x60], edi
call fcn.00401a90
mov ecx, dword [ebx - 0x10]
mov edi, eax
mov eax, dword [ebx - 0xc]
mov dword [esp], edi
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
call fcn.004bc590
mov eax, dword [ebx - 0x10]
mov edx, dword [ebx]
mov ecx, dword [ebx + 4]
add eax, edi
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.004bc590
mov edx, dword [esp + 0x60]
mov dword [esp + 0x84], edi
mov dword [esp + 0x80], edx
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
jmp case.0x40dd8b.44
mov ecx, dword [ebx - 0x10]
mov edi, dword [ebx]
lea eax, [ecx + edi]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x60], eax
lea eax, [eax + eax + 2]
mov dword [esp], eax
mov dword [esp + 0x64], eax
call fcn.00401a90
mov ecx, dword [esp + 0x68]
mov edx, eax
test ecx, ecx
je 0x40e69b
lea eax, [ecx + ecx]
mov dword [esp + 0x6c], ecx
mov ecx, dword [ebx - 0xc]
mov dword [esp], edx
mov dword [esp + 0x68], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
call fcn.004bc590
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
test edi, edi
je 0x40e6bf
lea eax, [edx + ecx*2]
mov ecx, dword [ebx + 4]
add edi, edi
mov dword [esp + 8], edi
mov dword [esp + 0x68], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004bc590
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
xor ecx, ecx
mov word [edx + eax - 2], cx
mov eax, dword [esp + 0x60]
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 4]
mov dword [esp + 8], eax
lea eax, [esp + 0x70]
mov dword [esp + 4], eax
lea eax, [esp + 0x74]
mov dword [esp], eax
call fcn.00411ec0
mov eax, dword [esp + 0x70]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp], 0
mov dword [esp + 0x74], 0
mov dword [esp + 8], eax
lea eax, [esp + 0x74]
mov dword [esp + 4], eax
call fcn.00412900
mov eax, dword [esp + 0x74]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.00412570
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 0x1000
mov dword [esp + 0x84], 0
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0x40
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 0x40
mov dword [esp + 0x84], 0
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0x20
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 0x20
mov dword [esp + 0x84], 0
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0x10
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 0x10
mov dword [esp + 0x84], 0
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov edx, dword [ebx + 4]
mov dword [esp + 0x80], eax
mov eax, dword [ebx - 0xc]
not edx
mov dword [esp + 0x84], eax
mov eax, dword [ebx - 8]
mov dword [esp + 0x88], eax
mov eax, dword [ebx - 4]
or eax, dword [ebx]
and eax, edx
mov dword [esp + 0x8c], eax
jmp case.0x40dd8b.44
movzx eax, word [0x509194]
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0x1030
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov edx, dword [ebx + 4]
mov dword [esp + 0x80], eax
mov eax, dword [ebx - 0xc]
not edx
mov dword [esp + 0x84], eax
mov eax, dword [ebx - 8]
mov dword [esp + 0x88], eax
mov eax, dword [ebx - 4]
or eax, dword [ebx]
and eax, edx
mov dword [esp + 0x8c], eax
jmp case.0x40dd8b.44
movzx eax, word [0x509194]
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0x1010
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x20]
mov dword [esp + 0x80], eax
mov eax, dword [ebx - 0x1c]
mov dword [esp + 0x84], eax
mov eax, dword [ebx - 0x14]
mov dword [esp + 0x8c], eax
mov eax, dword [ebx]
mov dword [esp + 0x88], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x2c]
mov dword [esp + 0x84], eax
mov eax, dword [ebx - 0x28]
mov dword [esp + 0x88], eax
mov eax, dword [ebx - 0x24]
mov dword [esp + 0x8c], eax
mov eax, dword [ebx]
shl eax, 0xa
or eax, dword [ebx - 0x10]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x20]
mov dword [esp + 0x80], eax
mov eax, dword [ebx - 0x18]
mov dword [esp + 0x88], eax
mov eax, dword [ebx - 0x14]
mov dword [esp + 0x8c], eax
mov eax, dword [ebx]
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov edx, dword [ebx + 4]
mov dword [esp + 0x80], eax
mov eax, dword [ebx - 0xc]
not edx
mov dword [esp + 0x84], eax
mov eax, dword [ebx - 8]
mov dword [esp + 0x88], eax
mov eax, dword [ebx - 4]
or eax, dword [ebx]
and eax, edx
mov dword [esp + 0x8c], eax
jmp case.0x40dd8b.44
movzx eax, word [0x509194]
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0x1030
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov dword [esp + 4], eax
lea eax, [esp + 0x80]
mov dword [esp], eax
call fcn.00401eb0
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 4], eax
lea eax, [esp + 0x80]
mov dword [esp], eax
call fcn.00401eb0
jmp case.0x40dd8b.44
mov eax, dword [ebx + 4]
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.00407970
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.00407910
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.004078b0
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 4], eax
lea eax, [esp + 0x80]
mov dword [esp], eax
call fcn.00401eb0
jmp case.0x40dd8b.44
mov eax, dword [ebx]
and byte [esp + 0x80], 0xfe
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 8], eax
mov eax, dword [ebx - 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x20]
mov dword [esp], eax
call fcn.00408a60
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 0
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 8], eax
mov eax, dword [ebx - 0x20]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x40]
mov dword [esp], eax
call fcn.00408a00
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 0
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebx - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x40]
mov dword [esp], eax
call fcn.00408940
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 0
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebx - 0x20]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x60]
mov dword [esp], eax
call fcn.004089a0
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x40]
mov dword [esp], eax
call fcn.004088f0
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 0
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x20]
mov edx, dword [ebx]
mov dword [esp + 0x80], eax
mov dword [eax + 0x20], edx
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x20]
mov edx, dword [ebx]
mov dword [esp + 0x80], eax
mov dword [eax + 0x1c], edx
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x20]
mov edx, dword [ebx]
mov dword [esp + 0x80], eax
mov dword [eax + 0x18], edx
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x20]
mov edx, dword [ebx]
mov dword [esp + 0x80], eax
mov dword [eax + 0x14], edx
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x20]
mov edx, dword [ebx]
mov dword [esp + 0x80], eax
mov dword [eax + 0x10], edx
jmp case.0x40dd8b.44
movzx ecx, word [ebx - 0x20]
mov eax, dword [ebx - 0x30]
mov edx, dword [ebx - 0x50]
shl eax, 0x10
or eax, ecx
mov dword [esp + 0x80], edx
mov dword [edx + 8], eax
mov eax, dword [ebx - 0x10]
movzx ecx, word [ebx]
shl eax, 0x10
or eax, ecx
mov dword [edx + 0xc], eax
jmp case.0x40dd8b.44
movzx ecx, word [ebx - 0x20]
mov eax, dword [ebx - 0x30]
mov edx, dword [ebx - 0x50]
shl eax, 0x10
or eax, ecx
mov dword [edx], eax
mov eax, dword [ebx - 0x10]
movzx ecx, word [ebx]
mov dword [esp + 0x80], edx
shl eax, 0x10
or eax, ecx
mov dword [edx + 4], eax
jmp case.0x40dd8b.44
mov dword [esp], 0x2c
call fcn.00401a90
lea edi, [eax + 4]
mov dword [esp + 0x80], eax
mov dword [eax], 0
mov dword [eax + 0x28], 0
and edi, 0xfffffffc
sub eax, edi
mov ecx, eax
xor eax, eax
add ecx, 0x2c
shr ecx, 2
rep stosd dword es:[edi], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [ebx - 0x30]
mov dword [esp + 0x10], eax
movzx eax, word [0x509194]
mov dword [esp + 0xc], eax
mov eax, dword [ebx - 0x50]
mov dword [esp], eax
mov eax, dword [ebx - 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x48]
mov dword [esp + 8], eax
call fcn.00408880
cmp dword [0x50e5e8], 0xfffffffe
jne 0x40e15a
jmp 0x40e1b5
mov edi, dword [ebx - 0x10]
mov dword [esp], 0x14
call fcn.00401a90
test edi, edi
jne 0x40ed72
jmp 0x410bc5
mov edi, edx
mov edx, dword [edi]
test edx, edx
jne 0x40ed70
mov dword [eax + 4], edi
mov dword [eax], 0
mov dword [edi], eax
and byte [eax + 8], 0xfe
mov dword [eax + 0xc], 0
mov edx, dword [ebx - 0x10]
test edx, edx
je 0x410b03
mov dword [esp + 0x80], edx
jmp case.0x40dd8b.44
mov edi, dword [ebx - 0x20]
mov dword [esp], 0x14
call fcn.00401a90
test edi, edi
jne 0x40edc2
jmp 0x410bb3
mov edi, edx
mov edx, dword [edi]
test edx, edx
jne 0x40edc0
mov dword [eax + 4], edi
mov dword [eax], 0
mov dword [edi], eax
mov edx, dword [ebx]
mov dword [eax + 8], edx
mov edx, dword [ebx + 4]
mov dword [eax + 0xc], edx
mov edx, dword [ebx + 8]
mov dword [eax + 0x10], edx
mov edx, dword [ebx - 0x20]
test edx, edx
je 0x410af7
mov dword [esp + 0x80], edx
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 0
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [ebx - 0x30]
mov dword [esp + 0x14], eax
mov eax, dword [ebx - 0x40]
mov dword [esp + 0x10], eax
lea eax, [ebx - 0x50]
mov dword [esp + 0xc], eax
mov eax, dword [ebx - 0x70]
mov dword [esp], eax
mov eax, dword [ebx - 0x6c]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x68]
mov dword [esp + 8], eax
call fcn.00407aa0
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x1c], eax
lea eax, [ebx - 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [ebx - 0x20]
mov dword [esp + 0xc], eax
mov eax, dword [ebx - 0x1c]
mov dword [esp + 0x10], eax
mov eax, dword [ebx - 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [ebx - 0x30]
mov dword [esp], eax
mov eax, dword [ebx - 0x2c]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x28]
mov dword [esp + 8], eax
call fcn.00408710
cmp dword [0x50e5e8], 0xfffffffe
jne 0x40e15a
jmp 0x40e1b5
mov eax, dword [ebx - 0x10]
mov dword [esp + 0x1c], eax
lea eax, [ebx - 0x30]
mov dword [esp + 0x18], eax
mov eax, dword [ebx - 0x40]
mov dword [esp + 0xc], eax
mov eax, dword [ebx - 0x3c]
mov dword [esp + 0x10], eax
mov eax, dword [ebx - 0x38]
mov dword [esp + 0x14], eax
mov eax, dword [ebx - 0x50]
mov dword [esp], eax
mov eax, dword [ebx - 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x48]
mov dword [esp + 8], eax
call fcn.00407b50
cmp dword [0x50e5e8], 0xfffffffe
jne 0x40e15a
jmp 0x40e1b5
and byte [esp + 0x80], 0xfe
mov dword [esp + 0x84], 0x16
jmp case.0x40dd8b.44
and byte [esp + 0x80], 0xfe
mov dword [esp + 0x84], 0x15
jmp case.0x40dd8b.44
and byte [esp + 0x80], 0xfe
mov dword [esp + 0x84], 0xf0
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [ebx - 0x30]
mov dword [esp + 0x10], eax
mov eax, dword [ebx - 0x40]
mov dword [esp + 0xc], eax
mov eax, dword [ebx - 0x50]
mov dword [esp + 8], eax
mov eax, dword [ebx - 0x60]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x70]
mov dword [esp], eax
call fcn.004076c0
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], eax
mov eax, dword [ebx - 0x30]
mov dword [esp + 8], eax
mov eax, dword [ebx - 0x40]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x50]
mov dword [esp], eax
call fcn.004076c0
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 0x14], eax
mov eax, dword [ebx - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x40]
mov dword [esp], eax
call fcn.004076c0
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
and byte [esp + 0x80], 0xfe
mov dword [esp + 0x84], 0x18
jmp case.0x40dd8b.44
and byte [esp + 0x80], 0xfe
mov dword [esp + 0x84], 0xa
jmp case.0x40dd8b.44
and byte [esp + 0x80], 0xfe
mov dword [esp + 0x84], 0x17
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x84], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x88], eax
jmp case.0x40dd8b.44
mov dword [esp], str.invalid_stringtable_resource.
call fcn.004a5954
mov dword [esp], eax
call fcn.004065e0
call sub.msvcrt.dll_abort
mov eax, dword [ebx]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 4]
mov dword [esp + 8], eax
mov eax, dword [ebx - 0x20]
mov dword [esp], 0x509184
mov dword [esp + 4], eax
call fcn.004079a0
call fcn.00410f30
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 4]
mov dword [esp + 8], eax
mov eax, dword [ebx - 0x10]
mov dword [esp], 0x509184
mov dword [esp + 4], eax
call fcn.004079a0
call fcn.00410f30
jmp case.0x40dd8b.44
call fcn.00410f80
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov dword [0x509184], eax
mov eax, dword [ebx - 0xc]
mov dword [0x509188], eax
mov eax, dword [ebx - 8]
mov dword [0x50918c], eax
mov eax, dword [ebx - 4]
mov dword [0x509190], eax
call fcn.00410f70
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov edx, dword [ebx - 0xc]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
jmp case.0x40dd8b.44
mov eax, dword [ebx + 4]
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.00407970
mov edx, dword [ebx - 0x20]
mov dword [esp + 0x80], edx
mov edx, dword [ebx - 0x1c]
mov dword [edx], eax
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.00407910
mov edx, dword [ebx - 0x20]
mov dword [esp + 0x80], edx
mov edx, dword [ebx - 0x1c]
mov dword [edx], eax
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.004078b0
mov edx, dword [ebx - 0x20]
mov dword [esp + 0x80], edx
mov edx, dword [ebx - 0x1c]
mov dword [edx], eax
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004076c0
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov eax, dword [ebx]
mov dword [esp + 0xc], eax
mov eax, dword [ebx - 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebx - 0x20]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x30]
mov dword [esp], eax
call fcn.004076c0
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [ebx]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x10]
mov dword [esp], eax
call fcn.004076c0
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
jmp case.0x40dd8b.44
call fcn.00410f80
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
jmp case.0x40dd8b.44
call fcn.00410f70
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x10], eax
lea eax, [ebx - 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [ebx - 0x30]
mov dword [esp], eax
mov eax, dword [ebx - 0x2c]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x28]
mov dword [esp + 8], eax
call fcn.00407720
cmp dword [0x50e5e8], 0xfffffffe
jne 0x40e15a
jmp 0x40e1b5
mov dword [esp + 0x80], 0
jmp case.0x40dd8b.44
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.004076c0
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
test eax, eax
je 0x410ae9
mov edx, dword [eax]
test edx, edx
jne 0x40f333
jmp 0x40f33b
mov edx, eax
mov eax, dword [edx]
test eax, eax
jne 0x40f331
mov eax, edx
mov edx, dword [ebx]
mov dword [eax], edx
mov eax, dword [ebx - 0x10]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp + 0x14], eax
mov eax, dword [ebx - 0x30]
mov dword [esp], eax
call fcn.004076c0
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov dword [0x50911c], 0x810000
mov dword [0x509120], 0x810000
and byte [0x509110], 0xfe
mov dword [0x509114], 0x81
or byte [0x509104], 1
mov dword [0x509108], 0
mov dword [0x50910c], 0x509100
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [0x50911c], 0x10001
mov dword [0x509120], 0x10001
and byte [0x509110], 0xfe
mov dword [0x509114], 0x80
mov dword [0x509104], eax
mov eax, dword [ebx + 4]
mov dword [0x509108], eax
mov eax, dword [ebx + 8]
mov dword [0x50910c], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
and byte [esp + 0x80], 0xfe
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp], 0
mov dword [esp + 0x74], 0
mov dword [esp + 8], eax
lea eax, [esp + 0x74]
mov dword [esp + 4], eax
call fcn.00412900
mov eax, dword [esp + 0x74]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov edx, 0x509140
xor eax, eax
mov ecx, 0x11
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebx - 0x30]
mov dword [0x509140], 0x80880000
mov byte [0x509158], 1
mov byte [0x509164], 1
mov dword [0x509148], eax
mov eax, dword [ebx - 0x20]
mov dword [0x50914c], eax
mov eax, dword [ebx - 0x10]
mov dword [0x509150], eax
mov eax, dword [ebx]
mov dword [0x509154], eax
mov eax, dword [ebx - 0x40]
mov dword [esp], 0xc
mov dword [0x509144], eax
call fcn.00401a90
mov dword [0x50917c], eax
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [ebx - 0x50]
mov dword [0x509180], 0
mov dword [0x509124], 0
mov dword [0x509184], eax
mov eax, dword [ebx - 0x4c]
mov dword [0x509188], eax
mov eax, dword [ebx - 0x48]
mov dword [0x50918c], eax
mov eax, dword [ebx - 0x44]
mov dword [0x509190], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x20]
mov ecx, dword [ebx - 0x1c]
or eax, dword [ebx]
test ecx, ecx
mov dword [esp + 0x80], eax
mov eax, 1
jne 0x40f552
mov edx, dword [ebx + 4]
test edx, edx
setne al
movzx eax, al
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov edx, 0x509140
xor eax, eax
mov ecx, 0x11
mov edi, edx
mov dword [0x509124], 0
rep stosd dword es:[edi], eax
mov eax, dword [ebx - 0x30]
mov dword [0x509140], 0x80880000
mov byte [0x509158], 1
mov byte [0x509164], 1
mov dword [0x509148], eax
mov eax, dword [ebx - 0x20]
mov dword [0x50914c], eax
mov eax, dword [ebx - 0x10]
mov dword [0x509150], eax
mov eax, dword [ebx]
mov dword [0x509154], eax
mov eax, dword [ebx - 0x40]
mov dword [0x509144], eax
mov eax, dword [ebx - 0x50]
mov dword [0x509184], eax
mov eax, dword [ebx - 0x4c]
mov dword [0x509188], eax
mov eax, dword [ebx - 0x48]
mov dword [0x50918c], eax
mov eax, dword [ebx - 0x44]
mov dword [0x509190], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x10], eax
lea eax, [ebx - 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [ebx - 0x30]
mov dword [esp], eax
mov eax, dword [ebx - 0x2c]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x28]
mov dword [esp + 8], eax
call fcn.004067f0
cmp dword [0x50e5e8], 0xfffffffe
jne 0x40e15a
jmp 0x40e1b5
mov eax, dword [ebx]
mov dword [esp + 0x10], eax
lea eax, [ebx - 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [ebx - 0x30]
mov dword [esp], eax
mov eax, dword [ebx - 0x2c]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x28]
mov dword [esp + 8], eax
call fcn.00406690
cmp dword [0x50e5e8], 0xfffffffe
jne 0x40e15a
jmp 0x40e1b5
mov dword [esp + 0x80], 0x10
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 8
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 4
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 2
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 0
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 1
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
or eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x20]
or eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x20]
mov edi, dword [ebx - 0x1c]
and eax, dword [ebx]
test edi, edi
mov dword [esp + 0x80], eax
mov eax, 1
jne 0x40f710
mov ecx, dword [ebx + 4]
test ecx, ecx
setne al
movzx eax, al
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x20]
mov edx, dword [ebx - 0x1c]
sub eax, dword [ebx]
test edx, edx
mov dword [esp + 0x80], eax
mov eax, 1
jne 0x40f73f
mov eax, dword [ebx + 4]
test eax, eax
setne al
movzx eax, al
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov edi, dword [ebx - 0x1c]
add eax, dword [ebx - 0x20]
test edi, edi
mov dword [esp + 0x80], eax
mov eax, 1
jne 0x40f76e
mov ecx, dword [ebx + 4]
test ecx, ecx
setne al
movzx eax, al
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov ecx, dword [ebx]
xor edx, edx
mov eax, dword [ebx - 0x20]
test ecx, ecx
je 0x40f78c
xor edx, edx
div ecx
mov dword [esp + 0x80], edx
mov edx, dword [ebx - 0x1c]
mov eax, 1
test edx, edx
jne 0x40f7a7
mov eax, dword [ebx + 4]
test eax, eax
setne al
movzx eax, al
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], 0
mov dword [esp + 0x8c], 0
movsx edx, byte [eax]
cmp dl, 0x5e
je 0x410abf
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], edx
cmp byte [eax + 1], 0
je case.0x40dd8b.44
mov dword [esp], str.accelerator_should_only_be_one_character
call fcn.004a5954
mov dword [esp], eax
call fcn.004065e0
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x30]
mov edx, dword [ebx - 0x28]
mov dword [esp + 0x80], eax
mov eax, dword [ebx - 0x2c]
or eax, dword [ebx]
mov dword [esp + 0x88], edx
mov edx, dword [ebx - 0x20]
test al, 1
mov dword [esp + 0x8c], edx
mov dword [esp + 0x84], eax
jne case.0x40dd8b.44
test al, 0xc
je case.0x40dd8b.44
mov dword [esp], str.inappropriate_modifiers_for_non_VIRTKEY
call fcn.004a5954
mov dword [esp], eax
call fcn.004065e0
jmp case.0x40dd8b.44
mov dword [esp], 0x10
call fcn.00401a90
mov edx, dword [ebx]
mov dword [eax], edx
mov edx, dword [ebx + 4]
mov dword [eax + 4], edx
mov edx, dword [ebx + 8]
mov dword [eax + 8], edx
mov edx, dword [ebx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [ebx - 0x10]
test edx, edx
je 0x410add
mov ecx, dword [edx]
test ecx, ecx
jne 0x40f8d2
jmp 0x40f8da
mov ecx, edx
mov edx, dword [ecx]
test edx, edx
jne 0x40f8d0
mov edx, ecx
mov dword [edx], eax
mov eax, dword [ebx - 0x10]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 0
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov dword [esp + 0x80], eax
mov eax, dword [ebx - 0xc]
mov dword [esp + 0x84], eax
mov eax, dword [ebx - 8]
mov dword [esp + 0x88], eax
mov eax, dword [ebx]
mov dword [esp + 0x8c], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov dword [esp + 0x10], eax
lea eax, [ebx - 0x30]
mov dword [esp + 0xc], eax
mov eax, dword [ebx - 0x50]
mov dword [esp], eax
mov eax, dword [ebx - 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x48]
mov dword [esp + 8], eax
call fcn.00406620
cmp dword [0x50e5e8], 0xfffffffe
jne 0x40e15a
jmp 0x40e1b5
mov eax, dword [ebx]
mov dword [0x50911c], 0x20001
mov dword [0x509120], 1
and byte [0x509110], 0xfe
mov dword [0x509114], 0x82
mov dword [0x509104], eax
mov eax, dword [ebx + 4]
mov dword [0x509108], eax
mov eax, dword [ebx + 8]
mov dword [0x50910c], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x20]
mov dword [esp + 0x30], eax
mov eax, dword [0x509124]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx - 0x80]
mov dword [esp + 0x20], eax
mov eax, dword [ebx - 0x7c]
mov dword [esp + 0x24], eax
mov eax, dword [ebx - 0x78]
mov dword [esp + 0x28], eax
mov eax, dword [ebx - 0x30]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx - 0x40]
mov dword [esp + 0x18], eax
mov eax, dword [ebx - 0x50]
mov dword [esp + 0x14], eax
mov eax, dword [ebx - 0x60]
mov dword [esp + 0x10], eax
mov eax, dword [ebx - 0x90]
mov dword [esp + 0xc], eax
mov eax, dword [ebx - 0xa0]
mov dword [esp], eax
mov eax, dword [ebx - 0x9c]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x98]
mov dword [esp + 8], eax
call fcn.00406cc0
mov edi, dword [0x50917c]
mov dword [esp + 0x80], eax
test edi, edi
je 0x410c30
mov edx, dword [ebx - 0x10]
mov dword [eax + 0x3c], edx
mov edx, dword [ebx]
mov dword [eax + 0x38], edx
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov dword [esp + 0x30], eax
mov eax, dword [0x509124]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx - 0x70]
mov dword [esp + 0x20], eax
mov eax, dword [ebx - 0x6c]
mov dword [esp + 0x24], eax
mov eax, dword [ebx - 0x68]
mov dword [esp + 0x28], eax
mov eax, dword [ebx - 0x20]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx - 0x30]
mov dword [esp + 0x18], eax
mov eax, dword [ebx - 0x40]
mov dword [esp + 0x14], eax
mov eax, dword [ebx - 0x50]
mov dword [esp + 0x10], eax
mov eax, dword [ebx - 0x80]
mov dword [esp + 0xc], eax
mov eax, dword [ebx - 0x90]
mov dword [esp], eax
mov eax, dword [ebx - 0x8c]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x88]
mov dword [esp + 8], eax
call fcn.00406cc0
mov edx, dword [ebx]
mov dword [esp + 0x80], eax
test edx, edx
je case.0x40dd8b.44
mov ecx, dword [0x50917c]
test ecx, ecx
je 0x410c50
mov dword [eax + 0x38], edx
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [0x50911c], 0x10002
mov dword [0x509120], 0x10002
and byte [0x509110], 0xfe
mov dword [0x509114], 0x80
mov dword [0x509104], eax
mov eax, dword [ebx + 4]
mov dword [0x509108], eax
mov eax, dword [ebx + 8]
mov dword [0x50910c], eax
jmp case.0x40dd8b.44
mov dword [0x50911c], 0x10001
mov dword [0x509120], 0
and byte [0x509110], 0xfe
mov dword [0x509114], 0x85
or byte [0x509104], 1
mov dword [0x509108], 0
mov dword [0x50910c], 0x509100
jmp case.0x40dd8b.44
mov edi, dword [0x50917c]
mov eax, dword [ebx]
test edi, edi
mov dword [esp + 0x80], eax
je 0x410c7c
add eax, 0x20
mov dword [esp + 4], 0x4c266c
mov dword [esp], eax
call fcn.00401e80
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [0x50911c], 0x810000
mov dword [0x509120], 0x810000
and byte [0x509110], 0xfe
mov dword [0x509114], 0x81
mov dword [0x509104], eax
mov eax, dword [ebx + 4]
mov dword [0x509108], eax
mov eax, dword [ebx + 8]
mov dword [0x50910c], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [0x50911c], 0x10009
mov dword [0x509120], 9
and byte [0x509110], 0xfe
mov dword [0x509114], 0x80
mov dword [0x509104], eax
mov eax, dword [ebx + 4]
mov dword [0x509108], eax
mov eax, dword [ebx + 8]
mov dword [0x50910c], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [0x50911c], 0x10003
mov dword [0x509120], 3
and byte [0x509110], 0xfe
mov dword [0x509114], 0x80
mov dword [0x509104], eax
mov eax, dword [ebx + 4]
mov dword [0x509108], eax
mov eax, dword [ebx + 8]
mov dword [0x50910c], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [0x50911c], 0x10006
mov dword [0x509120], 6
and byte [0x509110], 0xfe
mov dword [0x509114], 0x80
mov dword [0x509104], eax
mov eax, dword [ebx + 4]
mov dword [0x509108], eax
mov eax, dword [ebx + 8]
mov dword [0x50910c], eax
jmp case.0x40dd8b.44
mov eax, dword [0x509180]
test eax, eax
jne 0x40fcd3
jmp 0x410c72
mov eax, edx
mov edx, dword [eax]
test edx, edx
jne 0x40fcd1
mov edx, dword [ebx]
mov dword [eax], edx
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [0x50918c], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
shl eax, 0xa
or eax, dword [ebx - 0x10]
mov dword [0x509184], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [0x509188], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [0x509158], eax
mov eax, dword [ebx + 4]
mov dword [0x50915c], eax
mov eax, dword [ebx + 8]
mov dword [0x509160], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x50]
or dword [0x509140], 0x40
or dword [0x509124], 0x40
mov dword [0x509174], eax
mov eax, dword [ebx - 0x30]
mov dword [0x509178], eax
mov eax, dword [0x50917c]
test eax, eax
je 0x410bfe
mov edx, dword [ebx - 0x20]
mov dword [eax + 4], edx
mov edx, dword [ebx - 0x10]
mov byte [eax + 8], dl
mov edx, dword [ebx]
mov byte [eax + 9], dl
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x40]
or dword [0x509140], 0x40
or dword [0x509124], 0x40
mov dword [0x509174], eax
mov eax, dword [ebx - 0x20]
mov dword [0x509178], eax
mov eax, dword [0x50917c]
test eax, eax
je 0x410c17
mov edx, dword [ebx - 0x10]
mov dword [eax + 4], edx
mov edx, dword [ebx]
mov byte [eax + 9], 1
mov byte [eax + 8], dl
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x30]
or dword [0x509140], 0x40
or dword [0x509124], 0x40
mov dword [0x509174], eax
mov eax, dword [ebx - 0x10]
mov dword [0x509178], eax
mov eax, dword [0x50917c]
test eax, eax
je 0x410be5
mov edx, dword [ebx]
mov byte [eax + 8], 0
mov byte [eax + 9], 1
mov dword [eax + 4], edx
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x20]
or dword [0x509140], 0x40
or dword [0x509124], 0x40
mov dword [0x509174], eax
mov eax, dword [ebx]
mov dword [0x509178], eax
mov eax, dword [0x50917c]
test eax, eax
je case.0x40dd8b.44
mov dword [eax + 4], 0
mov byte [eax + 8], 0
mov byte [eax + 9], 1
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [0x509164], eax
mov eax, dword [ebx + 4]
mov dword [0x509168], eax
mov eax, dword [ebx + 8]
mov dword [0x50916c], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
or dword [0x509140], 0xc00000
or dword [0x509124], 0xc00000
mov dword [0x509170], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 0
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [0x509144], eax
jmp case.0x40dd8b.44
mov eax, dword [0x509124]
mov dword [0x509140], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp], 0x509164
mov dword [esp + 4], eax
call fcn.00401eb0
jmp case.0x40dd8b.44
mov dword [esp + 0x10], 0x509140
mov dword [esp + 0xc], 0x509184
mov eax, dword [ebx - 0xd0]
mov dword [esp], eax
mov eax, dword [ebx - 0xcc]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0xc8]
mov dword [esp + 8], eax
call fcn.00406c30
cmp dword [0x50e5e8], 0xfffffffe
jne 0x40e15a
jmp 0x40e1b5
mov dword [esp + 0x80], 0x40
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 0x20
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 2
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 0x4000
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 1
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 8
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
or eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x20]
or eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 0
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], eax
mov eax, dword [ebx - 0x30]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [ebx - 0x40]
mov dword [esp], eax
call fcn.004076c0
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004076c0
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov eax, dword [ebx]
mov dword [esp + 8], eax
mov eax, dword [ebx - 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x20]
mov dword [esp], eax
call fcn.004076c0
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
test eax, eax
je 0x410bd7
mov edx, dword [eax]
test edx, edx
jne 0x410053
jmp 0x41005b
mov edx, eax
mov eax, dword [edx]
test eax, eax
jne 0x410051
mov eax, edx
mov edx, dword [ebx]
mov dword [eax], edx
mov eax, dword [ebx - 0x10]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 0
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x20]
mov edx, dword [ebx - 0x1c]
xor eax, dword [ebx]
test edx, edx
mov dword [esp + 0x80], eax
mov eax, 1
jne 0x41009e
mov edi, dword [ebx + 4]
test edi, edi
setne al
movzx eax, al
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
movzx eax, word [ebx]
shl eax, 0xa
or ax, word [ebx - 0x10]
mov word [0x509194], ax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x10], eax
lea eax, [ebx - 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [ebx - 0x30]
mov dword [esp], eax
mov eax, dword [ebx - 0x2c]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x28]
mov dword [esp + 8], eax
call fcn.004071a0
cmp dword [0x50e5e8], 0xfffffffe
jne 0x40e15a
jmp 0x40e1b5
mov eax, dword [ebx]
mov dword [esp + 0x10], eax
lea eax, [ebx - 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [ebx - 0x30]
mov dword [esp], eax
mov eax, dword [ebx - 0x2c]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x28]
mov dword [esp + 8], eax
call fcn.00406ee0
cmp dword [0x50e5e8], 0xfffffffe
jne 0x40e15a
jmp 0x40e1b5
mov eax, dword [0x509120]
or eax, 0x50000000
mov dword [0x509124], eax
jmp case.0x40dd8b.44
mov dword [0x509124], 0x50000003
jmp case.0x40dd8b.44
mov dword [0x509124], 0x50000000
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov dword [esp + 0x80], 0
jmp case.0x40dd8b.44
mov eax, dword [ebx]
or byte [esp + 0x80], 1
mov dword [esp], eax
mov dword [esp + 0x88], eax
call fcn.00412540
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
and byte [esp + 0x80], 0xfe
mov dword [esp + 0x84], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov dword [esp + 0x80], eax
mov eax, dword [ebx - 0xc]
mov dword [esp + 0x84], eax
mov eax, dword [ebx - 8]
mov dword [esp + 0x88], eax
jmp case.0x40dd8b.44
lea eax, [esp + 0x80]
mov dword [esp + 4], 0x4c26d1
mov dword [esp], eax
call fcn.00401e80
jmp case.0x40dd8b.44
test byte [ebx], 1
jne 0x410aa4
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x84], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x88], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x20]
mov dword [esp + 0x30], eax
mov eax, dword [0x509124]
mov dword [esp + 0x2c], eax
mov eax, dword [0x509110]
mov dword [esp + 0x20], eax
mov eax, dword [0x509114]
mov dword [esp + 0x24], eax
mov eax, dword [0x509118]
mov dword [esp + 0x28], eax
mov eax, dword [ebx - 0x40]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx - 0x50]
mov dword [esp + 0x18], eax
mov eax, dword [ebx - 0x60]
mov dword [esp + 0x14], eax
mov eax, dword [ebx - 0x70]
mov dword [esp + 0x10], eax
mov eax, dword [ebx - 0x80]
mov dword [esp + 0xc], eax
mov eax, dword [0x509104]
mov dword [esp], eax
mov eax, dword [0x509108]
mov dword [esp + 4], eax
mov eax, dword [0x50910c]
mov dword [esp + 8], eax
call fcn.00406cc0
mov edx, dword [0x50917c]
mov dword [esp + 0x80], eax
test edx, edx
je 0x410b2f
mov edx, dword [ebx - 0x10]
mov dword [eax + 0x3c], edx
mov edx, dword [ebx]
mov dword [eax + 0x38], edx
jmp case.0x40dd8b.44
mov eax, dword [ebx - 0x10]
mov dword [esp + 0x30], eax
mov eax, dword [0x509124]
mov dword [esp + 0x2c], eax
mov eax, dword [0x509110]
mov dword [esp + 0x20], eax
mov eax, dword [0x509114]
mov dword [esp + 0x24], eax
mov eax, dword [0x509118]
mov dword [esp + 0x28], eax
mov eax, dword [ebx - 0x30]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx - 0x40]
mov dword [esp + 0x18], eax
mov eax, dword [ebx - 0x50]
mov dword [esp + 0x14], eax
mov eax, dword [ebx - 0x60]
mov dword [esp + 0x10], eax
mov eax, dword [ebx - 0x70]
mov dword [esp + 0xc], eax
mov eax, dword [0x509104]
mov dword [esp], eax
mov eax, dword [0x509108]
mov dword [esp + 4], eax
mov eax, dword [0x50910c]
mov dword [esp + 8], eax
call fcn.00406cc0
mov edx, dword [ebx]
mov dword [esp + 0x80], eax
test edx, edx
je case.0x40dd8b.44
mov ecx, dword [0x50917c]
test ecx, ecx
je 0x410b4f
mov dword [eax + 0x38], edx
jmp case.0x40dd8b.44
mov eax, dword [0x50911c]
mov dword [esp + 0x30], 0
or eax, 0x50000000
mov dword [esp + 0x2c], eax
mov eax, dword [0x509110]
mov dword [esp + 0x20], eax
mov eax, dword [0x509114]
mov dword [esp + 0x24], eax
mov eax, dword [0x509118]
mov dword [esp + 0x28], eax
mov eax, dword [ebx - 0x10]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx - 0x20]
mov dword [esp + 0x18], eax
mov eax, dword [ebx - 0x30]
mov dword [esp + 0x14], eax
mov eax, dword [ebx - 0x40]
mov dword [esp + 0x10], eax
mov eax, dword [ebx - 0x50]
mov dword [esp + 0xc], eax
mov eax, dword [0x509104]
mov dword [esp], eax
mov eax, dword [0x509108]
mov dword [esp + 4], eax
mov eax, dword [0x50910c]
mov dword [esp + 8], eax
call fcn.00406cc0
mov edx, dword [ebx]
mov dword [esp + 0x80], eax
test edx, edx
je case.0x40dd8b.44
mov edi, dword [0x50917c]
test edi, edi
je 0x410b71
mov dword [eax + 0x38], edx
jmp case.0x40dd8b.44
mov eax, dword [ebx]
and byte [esp + 0x74], 0xfe
mov dword [esp + 0x24], pe_nt_image_headers32
mov dword [esp + 0x78], pe_nt_image_headers32
mov dword [esp + 0x30], eax
mov eax, dword [0x509124]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x28], eax
mov eax, dword [ebx - 0x40]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx - 0x60]
mov dword [esp + 0x18], eax
mov eax, dword [ebx - 0x80]
mov dword [esp + 0x14], eax
mov eax, dword [ebx - 0xa0]
mov dword [esp + 0x10], eax
mov eax, dword [ebx - 0xc0]
mov dword [esp + 0xc], eax
mov eax, dword [ebx - 0xd0]
mov dword [esp], eax
mov eax, dword [ebx - 0xcc]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0xc8]
mov dword [esp + 8], eax
call fcn.00406cc0
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov dword [0x50911c], 0x800001
mov dword [0x509120], 0x800001
and byte [0x509110], 0xfe
mov dword [0x509114], 0x83
or byte [0x509104], 1
mov dword [0x509108], 0
mov dword [0x50910c], 0x509100
jmp case.0x40dd8b.44
mov edx, dword [0x50917c]
mov eax, dword [ebx]
test edx, edx
mov dword [esp + 0x80], eax
je 0x410b0f
add eax, 0x20
mov dword [esp + 4], 0x4c26cb
mov dword [esp], eax
call fcn.00401e80
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [0x50911c], 0x810000
mov dword [0x509120], 0x810000
and byte [0x509110], 0xfe
mov dword [0x509114], 0x81
mov dword [0x509104], eax
mov eax, dword [ebx + 4]
mov dword [0x509108], eax
mov eax, dword [ebx + 8]
mov dword [0x50910c], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [0x50911c], 0x10004
mov dword [0x509120], 4
and byte [0x509110], 0xfe
mov dword [0x509114], 0x80
mov dword [0x509104], eax
mov eax, dword [ebx + 4]
mov dword [0x509108], eax
mov eax, dword [ebx + 8]
mov dword [0x50910c], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [0x50911c], 0x10000
mov dword [0x509120], 0x10000
and byte [0x509110], 0xfe
mov dword [0x509114], 0x80
mov dword [0x509104], eax
mov eax, dword [ebx + 4]
mov dword [0x509108], eax
mov eax, dword [ebx + 8]
mov dword [0x50910c], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov dword [0x50911c], 0x1000c
mov dword [0x509120], 0xc
and byte [0x509110], 0xfe
mov dword [0x509114], 0x80
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [0x50911c], 0x20000
mov dword [0x509120], 0
and byte [0x509110], 0xfe
mov dword [0x509114], 0x82
mov dword [0x509104], eax
mov eax, dword [ebx + 4]
mov dword [0x509108], eax
mov eax, dword [ebx + 8]
mov dword [0x50910c], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov dword [0x50911c], 0
mov dword [0x509120], 0
and byte [0x509110], 0xfe
mov dword [0x509114], 0x84
or byte [0x509104], 1
mov dword [0x509108], 0
mov dword [0x50910c], 0x509100
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [0x50911c], 0x20002
mov dword [0x509120], 2
and byte [0x509110], 0xfe
mov dword [0x509114], 0x82
mov dword [0x509104], eax
mov eax, dword [ebx + 4]
mov dword [0x509108], eax
mov eax, dword [ebx + 8]
mov dword [0x50910c], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [0x50911c], 0x10005
mov dword [0x509120], 5
and byte [0x509110], 0xfe
mov dword [0x509114], 0x80
mov dword [0x509104], eax
mov eax, dword [ebx + 4]
mov dword [0x509108], eax
mov eax, dword [ebx + 8]
mov dword [0x50910c], eax
jmp case.0x40dd8b.44
mov dword [0x509124], 0x50000000
jmp case.0x40dd8b.44
mov ecx, dword [0x50917c]
mov eax, dword [ebx]
test ecx, ecx
mov dword [esp + 0x80], eax
je 0x410b93
add eax, 0x20
mov dword [esp + 4], 0x4c26c5
mov dword [esp], eax
call fcn.00401e80
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [0x50911c], 0x810000
mov dword [0x509120], 0x810000
and byte [0x509110], 0xfe
mov dword [0x509114], 0x81
mov dword [0x509104], eax
mov eax, dword [ebx + 4]
mov dword [0x509108], eax
mov eax, dword [ebx + 8]
mov dword [0x50910c], eax
jmp case.0x40dd8b.44
mov eax, dword [0x50917c]
mov dword [esp + 0x28], eax
mov eax, dword [ebx]
mov dword [esp + 0x24], eax
mov eax, dword [ebx - 0x10]
mov dword [esp + 0x20], eax
mov eax, dword [ebx - 0x20]
mov dword [esp + 0x1c], eax
mov eax, dword [0x509124]
mov dword [esp + 0x18], eax
mov eax, dword [ebx - 0x60]
mov dword [esp + 0x14], eax
mov eax, dword [ebx - 0x70]
mov dword [esp + 0x10], eax
mov eax, dword [ebx - 0x80]
mov dword [esp + 0xc], eax
mov eax, dword [ebx - 0x90]
mov dword [esp], eax
mov eax, dword [ebx - 0x8c]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x88]
mov dword [esp + 8], eax
call fcn.00406d50
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [0x50917c]
mov dword [esp + 0x28], eax
mov eax, dword [ebx]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], eax
mov eax, dword [ebx - 0x10]
mov dword [esp + 0x1c], eax
mov eax, dword [0x509124]
mov dword [esp + 0x18], eax
mov eax, dword [ebx - 0x50]
mov dword [esp + 0x14], eax
mov eax, dword [ebx - 0x60]
mov dword [esp + 0x10], eax
mov eax, dword [ebx - 0x70]
mov dword [esp + 0xc], eax
mov eax, dword [ebx - 0x80]
mov dword [esp], eax
mov eax, dword [ebx - 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x78]
mov dword [esp + 8], eax
call fcn.00406d50
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [0x50917c]
mov dword [esp + 0x28], eax
mov eax, dword [ebx]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x24], eax
mov eax, dword [ebx - 0x30]
mov dword [esp + 0x14], eax
mov eax, dword [ebx - 0x40]
mov dword [esp + 0x10], eax
mov eax, dword [ebx - 0x50]
mov dword [esp + 0xc], eax
mov eax, dword [ebx - 0x60]
mov dword [esp], eax
mov eax, dword [ebx - 0x5c]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x58]
mov dword [esp + 8], eax
call fcn.00406d50
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [0x50917c]
mov dword [esp + 0x28], eax
mov eax, dword [ebx]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x24], eax
mov eax, dword [ebx - 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [ebx - 0x20]
mov dword [esp + 0x10], eax
mov eax, dword [ebx - 0x30]
mov dword [esp + 0xc], eax
mov eax, dword [ebx - 0x40]
mov dword [esp], eax
mov eax, dword [ebx - 0x3c]
mov dword [esp + 4], eax
mov eax, dword [ebx - 0x38]
mov dword [esp + 8], eax
call fcn.00406d50
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov edx, 0x509140
xor eax, eax
mov ecx, 0x11
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebx - 0x40]
mov dword [0x509140], 0x80880000
mov byte [0x509158], 1
mov byte [0x509164], 1
mov dword [0x509148], eax
mov eax, dword [ebx - 0x30]
mov dword [0x50914c], eax
mov eax, dword [ebx - 0x20]
mov dword [0x509150], eax
mov eax, dword [ebx - 0x10]
mov dword [0x509154], eax
mov eax, dword [ebx - 0x50]
mov dword [esp], 0xc
mov dword [0x509144], eax
call fcn.00401a90
mov dword [0x50917c], eax
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, dword [0x50917c]
mov edx, dword [ebx]
mov dword [0x509124], 0
mov dword [eax], edx
mov eax, dword [ebx - 0x60]
mov dword [0x509180], 0
mov dword [0x509184], eax
mov eax, dword [ebx - 0x5c]
mov dword [0x509188], eax
mov eax, dword [ebx - 0x58]
mov dword [0x50918c], eax
mov eax, dword [ebx - 0x54]
mov dword [0x509190], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [0x50911c], 7
mov dword [0x509120], 7
and byte [0x509110], 0xfe
mov dword [0x509114], 0x80
mov dword [0x509104], eax
mov eax, dword [ebx + 4]
mov dword [0x509108], eax
mov eax, dword [ebx + 8]
mov dword [0x50910c], eax
jmp case.0x40dd8b.44
mov dword [esp], 0x4c26fd
mov ebx, 2
call fcn.004065b0
jmp 0x40e067
mov dword [esp + 0x4c], esi
mov ebx, 1
jmp 0x40e067
mov eax, dword [ebx + 8]
mov dword [esp + 4], eax
lea eax, [esp + 0x80]
mov dword [esp], eax
call fcn.00401eb0
jmp case.0x40dd8b.44
mov dword [esp + 0x84], 9
movzx edx, byte [eax + 1]
add eax, 1
movsx edx, byte [edx + 0x4eaea0]
jmp 0x40f814
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov dword [esp], str.IEDIT_requires_DIALOGEX
call fcn.004a5954
mov dword [esp], eax
call fcn.004065e0
mov eax, dword [esp + 0x80]
jmp 0x4104eb
mov dword [esp], str.help_ID_requires_DIALOGEX
call fcn.004a5954
mov dword [esp], eax
call fcn.004065e0
mov eax, dword [esp + 0x80]
jmp 0x4102b8
mov dword [esp], str.control_data_requires_DIALOGEX
call fcn.004a5954
mov dword [esp], eax
call fcn.004065e0
mov eax, dword [esp + 0x80]
mov edx, dword [ebx]
jmp 0x410354
mov dword [esp], str.control_data_requires_DIALOGEX
call fcn.004a5954
mov dword [esp], eax
call fcn.004065e0
mov eax, dword [esp + 0x80]
mov edx, dword [ebx]
jmp 0x4103ee
mov dword [esp], str.IEDIT_requires_DIALOGEX
call fcn.004a5954
mov dword [esp], eax
call fcn.004065e0
mov eax, dword [esp + 0x80]
jmp 0x410780
mov dword [eax + 4], 0
mov dword [eax], 0
jmp 0x40edd3
mov dword [eax + 4], 0
mov dword [eax], 0
jmp 0x40ed83
mov eax, dword [ebx]
mov dword [esp + 0x80], eax
jmp case.0x40dd8b.44
mov dword [esp], str.extended_FONT_requires_DIALOGEX
call fcn.004a5954
mov dword [esp], eax
call fcn.004065e0
jmp case.0x40dd8b.44
mov dword [esp], str.extended_FONT_requires_DIALOGEX
call fcn.004a5954
mov dword [esp], eax
call fcn.004065e0
jmp case.0x40dd8b.44
mov dword [esp], str.extended_FONT_requires_DIALOGEX
call fcn.004a5954
mov dword [esp], eax
call fcn.004065e0
jmp case.0x40dd8b.44
mov dword [esp], str.help_ID_requires_DIALOGEX
call fcn.004a5954
mov dword [esp], eax
call fcn.004065e0
mov eax, dword [esp + 0x80]
jmp 0x40fa23
mov dword [esp], str.control_data_requires_DIALOGEX
call fcn.004a5954
mov dword [esp], eax
call fcn.004065e0
mov eax, dword [esp + 0x80]
mov edx, dword [ebx]
jmp 0x40fabc
mov eax, 0x509180
jmp 0x40fcd9
mov dword [esp], str.BEDIT_requires_DIALOGEX
call fcn.004a5954
mov dword [esp], eax
call fcn.004065e0
mov eax, dword [esp + 0x80]
jmp 0x40fb7d