Function at 0x403930
Capabilities:
Contain obfuscated stackstrings
Encode data using base64
Encode data using xor
Get file version info
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x102c4
call fcn.004d4720
push esi
push edi
movzx eax, byte [0x4dd248]
add eax, 0xf1
mov byte [0x4dd248], al
mov byte [ebp - 0x6931], 0x72
mov ecx, 0x7ba
mov word [ebp - 0xa1f4], cx
movsx edx, byte [ebp - 0x6931]
cmp edx, 0x6b
jne 0x4039c3
movsx eax, word [ebp - 0xa1f4]
mov dword [ebp - 0x101bc], eax
cmp dword [ebp - 0x101bc], 0x298
je 0x40398a
jmp 0x4039b9
lea ecx, [ebp - 0x2664]
push ecx
mov edx, dword [ebp - 0x2664]
push edx
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov dword [ebp - 0xe428], eax
mov dword [ebp - 0xe428], 0xb60c
mov ecx, 0x1e
call fcn.004d42f0
jmp 0x4039c3
push 3
call fcn.00402350
add esp, 4
mov al, byte [ebp - 0x6931]
mov byte [ebp - 0x101c0], al
cmp byte [ebp - 0x101c0], 0x6c
je 0x4039da
jmp 0x403a16
mov dword [ebp - 0xe428], 0x6c40
mov dword [ebp - 0xe428], 0xb2c8
movzx ecx, byte [ebp - 0x6931]
push ecx
push 0x37
movzx edx, byte [ebp - 0x6931]
push edx
mov dl, byte [ebp - 0x6931]
mov cl, byte [0x4dd248]
call fcn.00403430
jmp 0x4d39cc
movsx eax, word [ebp - 0xa1f4]
cmp eax, 0x4f6
jne 0x403a95
lea ecx, [ebp - 0x6931]
push ecx
mov edx, dword [ebp - 0xae54]
push edx
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov dword [ebp - 0x6158], eax
mov al, byte [ebp - 0x6931]
mov byte [ebp - 0x101c4], al
cmp byte [ebp - 0x101c4], 0x3d
je 0x403a54
jmp 0x403a7e
mov ecx, dword [ebp - 0xe428]
mov dword [ebp - 0x6158], ecx
push 0x8d
mov edx, dword [ebp - 0xe428]
push edx
movzx eax, word [ebp - 0xa1f4]
push eax
call fcn.004d3c30
add esp, 0xc
jmp 0x403a90
push 0xdc
movzx ecx, byte [0x4dd248]
push ecx
call fcn.004022a0
jmp 0x403bcf
movsx edx, byte [ebp - 0x6931]
cmp edx, 0x71
je 0x403bcf
mov dword [ebp - 0x6208], 0x4f94
mov dword [ebp - 0x1dd8], 0x20a7
mov eax, dword [ebp - 0x6158]
mov dword [ebp - 0x101c8], eax
cmp dword [ebp - 0x101c8], 0
je 0x403ad3
jmp 0x403bb1
lea ecx, [ebp - 0x6208]
mov dword [ebp - 0x165c], ecx
mov dword [ebp - 0xe084], 0xe853
mov dword [ebp - 0xd744], 0x8abd
mov dword [ebp - 0x5804], 0xcf79
mov edx, dword [ebp - 0xe428]
or edx, 0x78bd
cmp edx, dword [ebp - 0x6158]
ja 0x403baf
mov eax, dword [ebp - 0x6158]
mov dword [ebp - 0xe428], eax
mov ecx, dword [ebp - 0x6158]
mov dword [ebp - 0x101cc], ecx
cmp dword [ebp - 0x101cc], 0xdb52
je 0x403b3b
jmp 0x403b88
lea edx, [ebp - 0x738c]
push edx
call dword [sym.imp.COMDLG32.dll_ReplaceTextA]
mov dword [ebp - 0x5524], eax
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x6208]
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x6158]
mov dword [ebp - 0xe428], eax
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
add edx, dword [ebp - 0x6208]
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
jmp 0x403baf
lea ecx, [ebp - 0x2798]
push ecx
lea edx, [ebp - 0x2664]
push edx
mov eax, dword [ebp - 0xfd48]
push eax
lea ecx, [ebp - 0xf3d8]
push ecx
call sub.VERSION.dll_VerQueryValueA
mov dword [ebp - 0xf3d8], eax
jmp 0x403bc5
movsx edx, word [ebp - 0xa1f4]
and edx, 0x145
mov word [ebp - 0xa1f4], dx
mov dword [ebp - 0x9954], 0x4d20
cmp dword [ebp - 0xd744], 0xc15d
ja 0x403d7a
movsx eax, byte [ebp - 0x6931]
sub eax, 3
mov byte [ebp - 0x6931], al
mov ecx, dword [ebp - 0x6208]
add ecx, 0x2638
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x6158]
mov dword [ebp - 0xe428], eax
mov ecx, dword [ebp - 0x6158]
add ecx, 0xf802
mov dword [ebp - 0xe428], ecx
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
sub eax, 0x7f07
mov dword [ebp - 0x6208], eax
movzx ecx, byte [0x4dd248]
or ecx, 0x77
mov byte [0x4dd248], cl
mov edx, dword [ebp - 0x6208]
xor edx, 0x6886
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x6208]
shl ecx, 0x1d
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x165c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x6208]
sar edx, cl
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x6158]
and ecx, 0xed3d
mov dword [ebp - 0xe428], ecx
mov edx, dword [ebp - 0xd744]
add edx, 0x98
mov dword [ebp - 0xd744], edx
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x6208]
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
mov eax, dword [ebp - 0xe428]
mov dword [ebp - 0x6158], eax
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
add edx, 0x6ffb
mov dword [ebp - 0x6208], edx
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
add ecx, 0xb6d
mov dword [ebp - 0x6208], ecx
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x6208]
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
movsx edx, byte [ebp - 0x6931]
and edx, 0x58
mov byte [ebp - 0x6931], dl
mov eax, dword [ebp - 0x6208]
sub eax, 0x44d7
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
movsx edx, byte [ebp - 0x6931]
add edx, 0x10
mov byte [ebp - 0x6931], dl
mov eax, dword [ebp - 0xe428]
sub eax, 0xb117
mov dword [ebp - 0x6158], eax
mov ecx, dword [ebp - 0x6208]
add ecx, 0x69dc
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x165c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x6208]
shl edx, cl
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
jmp 0x403bcf
movsx ecx, byte [ebp - 0x6931]
cmp ecx, 0x19
jne 0x403dda
mov edx, dword [ebp - 0x6208]
or edx, 0x620a
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0xe428]
xor ecx, 0x34be
mov dword [ebp - 0x6158], ecx
mov edx, dword [ebp - 0x6158]
push edx
movzx eax, byte [0x4dd248]
push eax
mov ecx, dword [ebp - 0xe428]
push ecx
movzx edx, word [ebp - 0xa1f4]
push edx
movzx eax, word [ebp - 0xa1f4]
push eax
call fcn.004d3a90
add esp, 0x14
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x6208]
sar edx, cl
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x6208]
and ecx, 0x435e
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x6208]
add eax, 0x2734
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
mov edx, dword [ebp - 0xe428]
sub edx, 0x680d
mov dword [ebp - 0x6158], edx
mov eax, dword [ebp - 0x6208]
sub eax, 0x7d73
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
add eax, 0x63c1
mov dword [ebp - 0x6208], eax
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x6208]
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
and edx, dword [ebp - 0x6208]
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
add edx, 0x40e9
mov dword [ebp - 0x6208], edx
movzx eax, byte [0x4dd248]
sub eax, 0x51
mov byte [0x4dd248], al
movsx ecx, word [ebp - 0xa1f4]
add ecx, 0x64b
mov word [ebp - 0xa1f4], cx
mov edx, dword [ebp - 0x9954]
add edx, 0xbe
mov dword [ebp - 0x9954], edx
mov eax, dword [ebp - 0x6208]
xor eax, 0x4728
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
mov edx, dword [ebp - 0xe428]
shr edx, 0x1f
mov dword [ebp - 0x6158], edx
movsx eax, byte [ebp - 0x6931]
or eax, 0x4b
mov byte [ebp - 0x6931], al
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x6208]
shl edx, cl
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x6208]
and ecx, 0x56ec
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
movsx eax, word [ebp - 0xa1f4]
sub eax, 0x6b
mov word [ebp - 0xa1f4], ax
mov ecx, dword [ebp - 0x6158]
add ecx, 0x4cd1
mov dword [ebp - 0xe428], ecx
mov edx, dword [ebp - 0x6208]
sub edx, 0x244
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
add edx, dword [ebp - 0x6208]
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
add edx, dword [ebp - 0x6208]
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
cmp dword [ebp - 0x9954], 0x6954
jb 0x403dda
cmp dword [ebp - 0x5804], 0xdf51
je 0x404161
mov ecx, dword [ebp - 0x5804]
add ecx, 0x68
mov dword [ebp - 0x5804], ecx
mov edx, dword [ebp - 0x6158]
sub edx, 0xefdf
mov dword [ebp - 0xe428], edx
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x6208]
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x6208]
sub eax, 0x598
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x6208]
sar eax, cl
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
xor eax, 0x7e51
mov dword [ebp - 0x6208], eax
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
or edx, dword [ebp - 0x6208]
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x6208]
shl edx, cl
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x6208]
add ecx, 0x5e94
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
movsx eax, byte [ebp - 0x6931]
and eax, 0x33
mov byte [ebp - 0x6931], al
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x6208]
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x6158]
add ecx, 0x3598
mov dword [ebp - 0xe428], ecx
mov edx, dword [ebp - 0x6208]
add edx, 0x241f
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
sub edx, 0x7425
mov dword [ebp - 0x6208], edx
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
add ecx, 0x5893
mov dword [ebp - 0x6208], ecx
mov edx, dword [ebp - 0x6208]
sub edx, 0x102c
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x6208]
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x6158]
and ecx, 0x4bb5
mov dword [ebp - 0xe428], ecx
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x6208]
shl eax, cl
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
xor eax, 0x412
mov dword [ebp - 0x6208], eax
mov ecx, dword [ebp - 0xe428]
or ecx, 0xa1c5
mov dword [ebp - 0x6158], ecx
mov edx, dword [ebp - 0x6208]
sar edx, 6
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
jmp 0x403f97
mov ecx, 0x649
mov word [ebp - 0x3d8], cx
mov edx, dword [ebp - 0x6208]
add edx, 0x5dae
mov eax, dword [ebp - 0x165c]
cmp edx, dword [eax]
je 0x4d395b
mov ecx, dword [ebp - 0xe428]
add ecx, 0x1f2d
cmp ecx, dword [ebp - 0x6158]
jb 0x4041ee
mov edx, dword [ebp - 0x6158]
sub edx, 0x8b51
mov dword [ebp - 0xe428], edx
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x6208]
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
add ecx, 0x12d9
cmp ecx, dword [ebp - 0x6208]
jge 0x4041ee
movzx edx, word [ebp - 0x3d8]
push edx
movzx eax, byte [0x4dd248]
push eax
call fcn.004022a0
mov cx, word [ebp - 0x3d8]
mov word [ebp - 0x7c04], cx
mov dword [ebp - 0x9468], 0xe348
mov dl, byte [0x4dd248]
mov byte [ebp - 0x1014d], dl
mov eax, dword [ebp - 0x6208]
mov dword [ebp - 0x143c], eax
lea ecx, [ebp - 0x6158]
mov dword [ebp - 0x5e34], ecx
mov dword [ebp - 0x47b4], 0x3d76
mov edx, dword [ebp - 0x6208]
mov dword [ebp - 0xb750], edx
mov eax, dword [ebp - 0x6208]
sub eax, dword [ebp - 0xb750]
mov dword [ebp - 0x143c], eax
lea ecx, [ebp - 0x7c04]
mov dword [ebp - 0x3d60], ecx
movzx edx, byte [0x4dd248]
add edx, 0x79
mov byte [ebp - 0x1014d], dl
mov eax, dword [ebp - 0x6158]
add eax, dword [ebp - 0xe428]
mov ecx, dword [ebp - 0x5e34]
mov dword [ecx], eax
mov edx, dword [ebp - 0xb750]
or edx, dword [ebp - 0x6208]
mov dword [ebp - 0x143c], edx
mov eax, dword [ebp - 0x165c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x143c]
sar edx, cl
mov dword [ebp - 0xb750], edx
mov eax, dword [ebp - 0x165c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xb750]
shl edx, cl
mov dword [ebp - 0x143c], edx
mov eax, dword [ebp - 0x165c]
mov ecx, dword [ebp - 0x6208]
xor ecx, dword [eax]
mov dword [ebp - 0xb750], ecx
movzx edx, word [ebp - 0x3d8]
movzx eax, word [ebp - 0x7c04]
and edx, eax
mov ecx, dword [ebp - 0x3d60]
mov word [ecx], dx
movsx edx, byte [ebp - 0x6931]
sub edx, 0x2b
mov byte [ebp - 0x6931], dl
mov eax, dword [ebp - 0x3d60]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x3d8]
sub ecx, edx
mov word [ebp - 0x7c04], cx
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
and ecx, dword [ebp - 0xb750]
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x1014d]
add eax, 5
mov byte [0x4dd248], al
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ebp - 0x6158]
add edx, dword [ecx]
mov dword [ebp - 0xe428], edx
mov eax, dword [ebp - 0x3d60]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x7c04]
sub ecx, edx
mov word [ebp - 0x3d8], cx
mov eax, dword [ebp - 0x143c]
sub eax, dword [ebp - 0x6208]
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x6208]
add edx, dword [ebp - 0x143c]
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x6158]
mov dword [ebp - 0xe428], edx
mov eax, dword [ebp - 0xb750]
or eax, dword [ebp - 0x6208]
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xb750]
sar eax, cl
mov dword [ebp - 0x143c], eax
movzx edx, word [ebp - 0x7c04]
movzx ecx, word [ebp - 0x3d8]
shl edx, cl
mov eax, dword [ebp - 0x3d60]
mov word [eax], dx
mov ecx, dword [ebp - 0x143c]
and ecx, dword [ebp - 0xb750]
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x6158]
mov dword [ebp - 0xe428], ecx
mov edx, dword [ebp - 0x1dd8]
sub edx, 0xb7
mov dword [ebp - 0x1dd8], edx
mov eax, dword [ebp - 0x6208]
sub eax, dword [ebp - 0x143c]
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
movsx edx, word [ebp - 0xa1f4]
add edx, 0xea
mov word [ebp - 0xa1f4], dx
mov eax, dword [ebp - 0xe428]
sub eax, dword [ebp - 0x6158]
mov ecx, dword [ebp - 0x5e34]
mov dword [ecx], eax
movzx edx, word [ebp - 0x3d8]
movzx eax, word [ebp - 0x7c04]
and edx, eax
mov ecx, dword [ebp - 0x3d60]
mov word [ecx], dx
movzx edx, word [ebp - 0x3d8]
mov eax, dword [ebp - 0x3d60]
movzx ecx, word [eax]
add edx, ecx
mov word [ebp - 0x7c04], dx
mov edx, dword [ebp - 0x5e34]
mov eax, dword [edx]
sub eax, dword [ebp - 0xe428]
mov dword [ebp - 0x6158], eax
mov ecx, dword [ebp - 0xb750]
sub ecx, dword [ebp - 0x143c]
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
mov eax, dword [ebp - 0xb750]
add eax, dword [ebp - 0x6208]
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x6158]
or edx, dword [ebp - 0xe428]
mov eax, dword [ebp - 0x5e34]
mov dword [eax], edx
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x6208]
shl edx, cl
mov dword [ebp - 0x143c], edx
mov eax, dword [ebp - 0x3d60]
movzx edx, word [eax]
movzx ecx, word [ebp - 0x7c04]
sar edx, cl
mov word [ebp - 0x3d8], dx
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0x6208]
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x143c]
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x6158]
mov edx, dword [ebp - 0x5e34]
mov dword [edx], ecx
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x6208]
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
mov eax, dword [ebp - 0xb750]
add eax, dword [ebp - 0x6208]
mov dword [ebp - 0x143c], eax
movzx ecx, word [ebp - 0x3d8]
movzx edx, word [ebp - 0x7c04]
sub ecx, edx
mov eax, dword [ebp - 0x3d60]
mov word [eax], cx
mov ecx, dword [ebp - 0x3d60]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x7c04]
add edx, eax
mov ecx, dword [ebp - 0x3d60]
mov word [ecx], dx
movsx edx, word [ebp - 0xa1f4]
and edx, 0x1b7
mov word [ebp - 0xa1f4], dx
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x143c]
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [ebp - 0x6158]
sub ecx, dword [eax]
mov dword [ebp - 0xe428], ecx
cmp dword [ebp - 0x1dd8], 0x2a1
jae 0x40425e
mov dl, byte [ebp - 0x6931]
mov byte [ebp - 0x101d0], dl
cmp byte [ebp - 0x101d0], 0xda
je 0x40461d
cmp byte [ebp - 0x101d0], 0x74
je 0x404646
jmp 0x4046dc
mov eax, dword [ebp - 0xb750]
mov dword [ebp - 0x9dcc], eax
lea ecx, [ebp - 0x1014d]
mov dword [ebp - 0xc928], ecx
lea edx, [ebp - 0x7c04]
mov dword [ebp - 0x524], edx
jmp 0x4046dc
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
mov dword [ebp - 0x101d4], ecx
cmp dword [ebp - 0x101d4], 0x3593
je 0x404662
jmp 0x4046ca
lea edx, [ebp - 0x90bc]
push edx
call dword [sym.imp.COMDLG32.dll_FindTextA]
mov dword [ebp - 0x65c4], eax
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
add ecx, dword [ebp - 0xe428]
mov dword [ebp - 0x6158], ecx
movzx edx, byte [ebp - 0x1014d]
movzx ecx, byte [0x4dd248]
sar edx, cl
mov eax, dword [ebp - 0xc928]
movzx ecx, byte [eax]
cmp edx, ecx
je 0x4046c8
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
xor eax, dword [ebp - 0x9dcc]
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
mov edx, dword [ebp - 0xe428]
push edx
call fcn.004d3a60
jmp 0x4046dc
mov eax, dword [ebp - 0x6208]
or eax, dword [ebp - 0x143c]
mov dword [ebp - 0x9dcc], eax
mov ecx, dword [ebp - 0x6158]
mov dword [ebp - 0xe74], ecx
movzx edx, byte [ebp - 0x1014d]
movzx ecx, byte [0x4dd248]
shl edx, cl
mov eax, dword [ebp - 0xc928]
movzx ecx, byte [eax]
cmp edx, ecx
jne 0x40472a
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0xe428]
push ecx
movzx edx, word [ebp - 0xa1f4]
push edx
call fcn.004d3c30
add esp, 0xc
jmp 0x4d38f3
movzx eax, byte [ebp - 0x1014d]
movzx ecx, byte [0x4dd248]
sub eax, ecx
mov edx, dword [ebp - 0xc928]
movzx ecx, byte [edx]
cmp eax, ecx
je 0x4047ed
movsx edx, word [ebp - 0xa1f4]
mov dword [ebp - 0x101d8], edx
cmp dword [ebp - 0x101d8], 0x90
je 0x404772
cmp dword [ebp - 0x101d8], 0x3ad
je 0x4047da
jmp 0x4047ed
mov eax, dword [ebp - 0x2bdc]
sub eax, dword [ebp - 0xe428]
mov ecx, dword [ebp - 0x6158]
add ecx, dword [ebp - 0xe74]
cmp eax, ecx
jb 0x4047c0
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
xor eax, dword [ebp - 0x6208]
mov dword [ebp - 0xb750], eax
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
mov dword [ebp - 0x431c], edx
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
mov dword [ebp - 0x2bdc], ecx
jmp 0x4047d8
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x431c]
shl eax, cl
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
jmp 0x4047ed
lea edx, [ebp - 0x2c60]
push edx
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameA]
mov dword [ebp - 0x66e0], eax
mov ax, word [ebp - 0x7c04]
mov word [0x4df380], ax
mov edx, dword [ebp - 0x2bdc]
mov ecx, dword [ebp - 0x6158]
shr edx, cl
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [ebp - 0xe428]
or ecx, dword [eax]
cmp edx, ecx
jbe 0x40487b
movzx edx, word [0x4df380]
movzx eax, word [ebp - 0x3d8]
add edx, eax
mov ecx, dword [ebp - 0x524]
mov word [ecx], dx
mov edx, dword [ebp - 0x5e34]
mov eax, dword [edx]
add eax, dword [ebp - 0x6158]
mov dword [ebp - 0xe74], eax
mov ecx, dword [ebp - 0x9dcc]
push ecx
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0xb750]
push ecx
mov edx, dword [ebp - 0x143c]
push edx
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
push ecx
call fcn.00402d00
add esp, 0x14
jmp 0x4d3876
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
add eax, dword [ebp - 0x431c]
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3d60]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x7c04]
sub eax, ecx
mov edx, dword [ebp - 0x3d60]
mov word [edx], ax
movzx eax, byte [ebp - 0x1014d]
movzx ecx, byte [0x4dd248]
and eax, ecx
mov edx, dword [ebp - 0xc928]
mov byte [edx], al
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
or ecx, dword [ebp - 0xe74]
mov dword [ebp - 0xe428], ecx
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x6208]
shl eax, cl
mov dword [ebp - 0xb750], eax
mov ecx, dword [ebp - 0xb750]
xor ecx, dword [ebp - 0x143c]
mov dword [ebp - 0x6208], ecx
mov edx, dword [ebp - 0x5e34]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x6158]
shr eax, cl
mov ecx, dword [ebp - 0x5e34]
mov dword [ecx], eax
mov edx, dword [ebp - 0xe084]
sub edx, 0x32
mov dword [ebp - 0xe084], edx
mov eax, dword [ebp - 0xc928]
movzx ecx, byte [eax]
movzx edx, byte [0x4dd248]
sub ecx, edx
mov byte [ebp - 0x1014d], cl
mov eax, dword [ebp - 0x3d60]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x3d8]
sub ecx, edx
mov eax, dword [ebp - 0x3d60]
mov word [eax], cx
mov ecx, dword [ebp - 0x9dcc]
and ecx, dword [ebp - 0x6208]
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x143c]
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x1014d]
mov ecx, dword [ebp - 0xc928]
movzx edx, byte [ecx]
add eax, edx
mov byte [0x4dd248], al
mov eax, dword [ebp - 0x6208]
sub eax, dword [ebp - 0x431c]
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
movzx edx, word [ebp - 0x3d8]
mov eax, dword [ebp - 0x524]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x3d60]
mov word [eax], dx
movzx ecx, byte [0x4dd248]
mov edx, dword [ebp - 0xc928]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x1014d], cl
mov ecx, dword [ebp - 0x2bdc]
add ecx, dword [ebp - 0xe74]
mov dword [ebp - 0xe428], ecx
mov edx, dword [ebp - 0x5e34]
mov eax, dword [edx]
add eax, dword [ebp - 0x6158]
mov ecx, dword [ebp - 0x5e34]
mov dword [ecx], eax
mov edx, dword [ebp - 0x9dcc]
add edx, dword [ebp - 0x431c]
mov dword [ebp - 0x143c], edx
mov eax, dword [ebp - 0xb750]
or eax, dword [ebp - 0x6208]
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x6208]
xor edx, dword [ebp - 0x9dcc]
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
movzx edx, word [ebp - 0x7c04]
movzx ecx, word [ebp - 0x3d8]
shl edx, cl
mov eax, dword [ebp - 0x3d60]
mov word [eax], dx
movzx edx, byte [0x4dd248]
mov eax, dword [ebp - 0xc928]
movzx ecx, byte [eax]
sar edx, cl
mov byte [ebp - 0x1014d], dl
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ebp - 0xe428]
and edx, dword [ecx]
mov dword [ebp - 0x6158], edx
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x143c]
mov dword [ebp - 0x9dcc], ecx
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x431c]
mov dword [ebp - 0x9dcc], eax
mov ecx, dword [ebp - 0x6158]
and ecx, dword [ebp - 0xe428]
mov dword [ebp - 0xe74], ecx
mov edx, dword [ebp - 0xc928]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x1014d]
sub eax, ecx
mov edx, dword [ebp - 0xc928]
mov byte [edx], al
movzx eax, word [ebp - 0x7c04]
mov ecx, dword [ebp - 0x3d60]
movzx edx, word [ecx]
sub eax, edx
mov word [ebp - 0x3d8], ax
mov eax, dword [ebp - 0x143c]
add eax, dword [ebp - 0x431c]
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x9dcc]
add edx, dword [ebp - 0x143c]
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x6158]
mov eax, dword [ebp - 0x5e34]
mov dword [eax], edx
mov ecx, dword [ebp - 0x6208]
xor ecx, dword [ebp - 0xb750]
mov dword [ebp - 0x9dcc], ecx
movzx edx, word [ebp - 0x3d8]
mov eax, dword [ebp - 0x3d60]
movzx ecx, word [eax]
or edx, ecx
mov word [ebp - 0x7c04], dx
movzx edx, byte [ebp - 0x1014d]
movzx ecx, byte [0x4dd248]
shl edx, cl
mov eax, dword [ebp - 0xc928]
mov byte [eax], dl
mov edx, dword [ebp - 0x6208]
mov ecx, dword [ebp - 0x143c]
sar edx, cl
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2bdc]
and ecx, dword [ebp - 0xe74]
mov edx, dword [ebp - 0x5e34]
mov dword [edx], ecx
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x143c]
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x6208]
mov dword [ebp - 0x143c], ecx
cmp dword [ebp - 0xe084], 0xd787
ja 0x40487b
movsx edx, byte [ebp - 0x6931]
cmp edx, 0x7e
jne 0x404c95
mov eax, dword [ebp - 0x524]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x3d8]
and ecx, edx
mov eax, dword [ebp - 0x524]
mov word [eax], cx
movsx ecx, word [ebp - 0xa1f4]
cmp ecx, 0x4cc
jge 0x404c81
lea edx, [ebp - 0x396c]
push edx
call dword [sym.imp.COMDLG32.dll_FindTextA]
mov dword [ebp - 0xbf24], eax
movsx eax, word [ebp - 0xa1f4]
mov dword [ebp - 0x101dc], eax
cmp dword [ebp - 0x101dc], 0x253
je 0x404c43
jmp 0x404c6b
mov ecx, dword [ebp - 0xc928]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x1014d]
add edx, eax
mov byte [0x4dd248], dl
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ecx]
push edx
call fcn.004d3a60
jmp 0x404c81
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
add ecx, dword [ebp - 0xe428]
mov edx, dword [ebp - 0x5e34]
mov dword [edx], ecx
mov eax, dword [ebp - 0xb750]
sub eax, dword [ebp - 0x431c]
mov dword [ebp - 0x9dcc], eax
jmp 0x404cf8
movzx ecx, word [0x4df380]
movzx edx, word [ebp - 0x3d8]
sub ecx, edx
movzx eax, word [ebp - 0x7c04]
mov edx, dword [ebp - 0x3d60]
movzx edx, word [edx]
sub eax, edx
cmp ecx, eax
jge 0x404cf8
lea eax, [ebp - 0x5f40]
push eax
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameA]
mov dword [ebp - 0xf0d0], eax
mov ecx, dword [ebp - 0x143c]
add ecx, dword [ebp - 0xb750]
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x165c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x6208]
shl edx, cl
mov dword [ebp - 0xb750], edx
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
mov dword [ebp - 0x101e0], ecx
cmp dword [ebp - 0x101e0], 0
je 0x404d7e
cmp dword [ebp - 0x101e0], 0x20b8
je 0x404d20
jmp 0x4d3846
mov edx, dword [ebp - 0xe74]
or edx, dword [ebp - 0x2bdc]
mov eax, dword [ebp - 0x5e34]
mov dword [eax], edx
lea ecx, [ebp - 0xf0d0]
push ecx
push 0x58
push 0x70
mov edx, dword [ebp - 0xfd48]
push edx
call sub.VERSION.dll_GetFileVersionInfoA
mov dword [ebp - 0x66e0], eax
movsx eax, byte [ebp - 0x6931]
sar eax, 6
mov byte [ebp - 0x6931], al
movzx ecx, byte [ebp - 0x1014d]
movzx edx, byte [0x4dd248]
and ecx, edx
mov eax, dword [ebp - 0xc928]
mov byte [eax], cl
jmp 0x4d3846
lea ecx, [ebp - 0x7c04]
mov dword [ebp - 0x86a4], ecx
mov dword [ebp - 0x9c34], 0x236f
mov edx, dword [ebp - 0xc928]
movzx eax, byte [edx]
movzx ecx, byte [0x4dd248]
sub eax, ecx
movzx edx, byte [ebp - 0x1014d]
cmp eax, edx
je 0x404dfe
mov eax, dword [ebp - 0x9dcc]
sub eax, dword [ebp - 0x6208]
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x431c]
cmp eax, edx
je 0x404df2
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x2bdc]
mov dword [ebp - 0x6158], ecx
mov edx, dword [ebp - 0x165c]
mov ecx, dword [edx]
call fcn.004d42f0
jmp 0x404dfe
call dword [sym.imp.COMDLG32.dll_CommDlgExtendedError]
mov dword [ebp - 0x6158], eax
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
mov dword [ebp - 0x3e24], ecx
mov edx, dword [ebp - 0x3d60]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x3d8]
add eax, ecx
mov edx, dword [ebp - 0x524]
mov word [edx], ax
mov eax, dword [ebp - 0x165c]
mov ecx, dword [ebp - 0x6208]
add ecx, dword [eax]
mov edx, dword [ebp - 0x9dcc]
sub edx, dword [ebp - 0xb750]
cmp ecx, edx
jl 0x404e97
mov eax, dword [ebp - 0xc928]
mov cl, byte [eax]
mov byte [ebp - 0x2b59], cl
lea edx, [ebp - 0xb750]
mov dword [ebp - 0x9978], edx
mov eax, dword [ebp - 0x5e34]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xe74]
shr edx, cl
mov dword [ebp - 0x6158], edx
lea eax, [ebp - 0x431c]
mov dword [ebp - 0x49bc], eax
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
or edx, dword [ebp - 0xb750]
mov dword [0x4dd24c], edx
jmp 0x404eb8
movsx eax, byte [ebp - 0x6931]
cmp eax, 0x25
jne 0x404eb8
movzx ecx, word [ebp - 0x3d8]
push ecx
movzx edx, byte [ebp - 0x1014d]
push edx
call fcn.004022a0
mov dword [ebp - 0x176c], 0x76b1
mov eax, dword [ebp - 0x143c]
mov dword [ebp - 0x7b44], eax
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ecx]
mov dword [ebp - 0x101e4], edx
cmp dword [ebp - 0x101e4], 0x8073
je 0x404eea
jmp 0x404f06
mov eax, dword [ebp - 0x3d60]
mov dx, word [eax]
mov ecx, dword [ebp - 0x3d60]
mov cx, word [ecx]
call fcn.004029a0
jmp 0x4d37c1
mov edx, dword [ebp - 0xc928]
mov al, byte [edx]
mov byte [ebp - 0x101e8], al
cmp byte [ebp - 0x101e8], 0
je 0x404f2f
cmp byte [ebp - 0x101e8], 0x59
je 0x4d36a0
jmp 0x4d370f
movsx ecx, word [ebp - 0xa1f4]
cmp ecx, 0x3ea
jne 0x404f54
mov edx, dword [ebp - 0x7c04]
mov eax, dword [ebp - 0x3d60]
mov cx, word [eax]
call fcn.004029a0
jmp 0x404fad
movzx edx, word [ebp - 0x3d8]
movzx ecx, word [ebp - 0x7c04]
shl edx, cl
movzx eax, word [0x4df380]
mov ecx, dword [ebp - 0x524]
movzx ecx, word [ecx]
xor eax, ecx
cmp edx, eax
je 0x404fad
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x49bc]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x9978]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x6208]
push edx
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
push ecx
call fcn.00402d00
add esp, 0x14
mov edx, dword [ebp - 0x9978]
mov eax, dword [edx]
sub eax, dword [ebp - 0x7b44]
mov dword [ebp - 0x143c], eax
mov dword [ebp - 0x2604], 0x4dd24c
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ebp - 0x6158]
and edx, dword [ecx]
mov dword [ebp - 0x2bdc], edx
mov dword [ebp - 0x25a4], 0xe4f1
mov eax, dword [ebp - 0xc928]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x1014d]
add ecx, edx
movzx eax, byte [ebp - 0x2b59]
movzx edx, byte [0x4dd248]
sub eax, edx
cmp ecx, eax
jge 0x4050d9
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x9978]
add ecx, dword [edx]
mov dword [ebp - 0xb750], ecx
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
mov dword [ebp - 0x101ec], ecx
cmp dword [ebp - 0x101ec], 0x6256
je 0x405051
cmp dword [ebp - 0x101ec], 0xf2dc
je 0x4050a6
jmp 0x4050bc
lea edx, [ebp - 0xdbd0]
push edx
push 0x4d
push 0xc5
mov eax, dword [ebp - 0x2664]
push eax
call sub.VERSION.dll_GetFileVersionInfoA
mov dword [ebp - 0x66e0], eax
mov ecx, dword [ebp - 0xc928]
movzx edx, byte [ecx]
movzx eax, byte [0x4dd248]
add edx, eax
mov ecx, dword [ebp - 0xc928]
mov byte [ecx], dl
mov edx, dword [ebp - 0x524]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x7c04]
add eax, ecx
mov word [ebp - 0x3d8], ax
jmp 0x4050bc
mov edx, dword [ebp - 0x9978]
mov eax, dword [ebp - 0x6208]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
push 0x6e
mov edx, dword [ebp - 0x2664]
push edx
mov eax, dword [ebp - 0x9cb0]
push eax
call dword [sym.imp.COMDLG32.dll_GetFileTitleA]
mov word [ebp - 0x5d08], ax
mov ecx, dword [0x4dd24c]
sub ecx, dword [ebp - 0x143c]
mov dword [0x4dd250], ecx
mov edx, dword [ebp - 0xc928]
mov al, byte [edx]
mov byte [ebp - 0x101f0], al
cmp byte [ebp - 0x101f0], 4
je 0x405123
cmp byte [ebp - 0x101f0], 0x42
je 0x40510d
jmp 0x40516a
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ebp - 0xe74]
and edx, dword [ecx]
mov dword [ebp - 0xe428], edx
jmp 0x40516a
mov eax, dword [ebp - 0xb750]
mov ecx, dword [ebp - 0x431c]
sar eax, cl
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x9dcc]
push ecx
mov edx, dword [0x4dd24c]
push edx
mov eax, dword [ebp - 0x2604]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x9978]
mov eax, dword [edx]
push eax
call fcn.00402d00
add esp, 0x14
mov ecx, dword [ebp - 0x431c]
or ecx, dword [ebp - 0x9dcc]
mov edx, dword [ebp - 0x9978]
mov dword [edx], ecx
mov dword [ebp - 0xe1e0], 0x3840
lea eax, [ebp - 0x3d8]
mov dword [ebp - 0x3abc], eax
movsx ecx, word [ebp - 0xa1f4]
mov dword [ebp - 0x101f4], ecx
cmp dword [ebp - 0x101f4], 0x400
je 0x4051af
jmp 0x40522c
lea edx, [ebp - 0xa368]
push edx
mov eax, dword [ebp - 0xfd48]
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov dword [ebp - 0xe428], eax
mov cl, byte [ebp - 0x6931]
mov byte [ebp - 0x101f8], cl
cmp byte [ebp - 0x101f8], 0x2f
je 0x4051df
jmp 0x405211
mov edx, dword [0x4dd250]
xor edx, dword [ebp - 0x6208]
mov eax, dword [ebp - 0x2604]
mov dword [eax], edx
movsx ecx, byte [ebp - 0x6931]
add ecx, 0x48
mov byte [ebp - 0x6931], cl
mov edx, dword [ebp - 0x6158]
push edx
call fcn.004d3a60
jmp 0x405227
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x6158]
mov edx, dword [ebp - 0x5e34]
mov dword [edx], ecx
jmp 0x4d365b
movzx eax, word [ebp - 0x3d8]
mov ecx, dword [ebp - 0x3abc]
movzx edx, word [ecx]
and eax, edx
movzx ecx, word [ebp - 0x7c04]
movzx edx, word [0x4df380]
sub ecx, edx
cmp eax, ecx
jne 0x4d3632
cmp dword [ebp - 0x9c34], 0x2175
jb 0x4054de
movzx eax, byte [ebp - 0x1014d]
movzx ecx, byte [ebp - 0x2b59]
sub eax, ecx
mov edx, dword [ebp - 0xc928]
mov byte [edx], al
mov eax, dword [ebp - 0x3abc]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x524]
movzx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0x3d60]
mov word [edx], cx
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x3e24]
mov dword [ebp - 0xe74], ecx
mov edx, dword [ebp - 0x2604]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x165c]
add eax, dword [ecx]
mov dword [ebp - 0x7b44], eax
mov edx, dword [ebp - 0x9978]
mov eax, dword [edx]
add eax, dword [ebp - 0x6208]
mov ecx, dword [ebp - 0x9978]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5e34]
mov eax, dword [edx]
sub eax, dword [ebp - 0x2bdc]
mov ecx, dword [ebp - 0x5e34]
mov dword [ecx], eax
movzx edx, word [ebp - 0x3d8]
movzx ecx, word [0x4df380]
shl edx, cl
mov word [ebp - 0x7c04], dx
movzx eax, byte [ebp - 0x1014d]
movzx ecx, byte [ebp - 0x2b59]
xor eax, ecx
mov edx, dword [ebp - 0xc928]
mov byte [edx], al
mov eax, dword [ebp - 0x49bc]
mov ecx, dword [ebp - 0x9978]
mov edx, dword [eax]
mov ecx, dword [ecx]
sar edx, cl
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x9dcc]
or ecx, dword [ebp - 0xb750]
mov dword [ebp - 0x143c], ecx
mov edx, dword [ebp - 0x5e34]
mov eax, dword [edx]
and eax, dword [ebp - 0x3e24]
mov ecx, dword [ebp - 0x5e34]
mov dword [ecx], eax
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x7b44]
mov ecx, dword [ebp - 0x2604]
mov dword [ecx], eax
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x49bc]
add eax, dword [ecx]
mov edx, dword [ebp - 0x2604]
mov dword [edx], eax
movsx eax, word [ebp - 0x5d08]
and eax, 0x5a9
mov word [ebp - 0xa1f4], ax
mov ecx, dword [ebp - 0x9c34]
sub ecx, 0xb
mov dword [ebp - 0x9c34], ecx
mov edx, dword [ebp - 0x5e34]
mov eax, dword [edx]
add eax, dword [ebp - 0xe74]
mov ecx, dword [ebp - 0x5e34]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x1014d]
movzx eax, byte [ebp - 0x2b59]
sub edx, eax
mov ecx, dword [ebp - 0xc928]
mov byte [ecx], dl
movzx edx, word [ebp - 0x7c04]
mov eax, dword [ebp - 0x3abc]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x3d8], dx
mov edx, dword [ebp - 0xb750]
add edx, dword [ebp - 0x6208]
mov dword [0x4dd250], edx
mov eax, dword [ebp - 0x2604]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x165c]
add ecx, dword [edx]
mov dword [ebp - 0x431c], ecx
mov eax, dword [ebp - 0xc928]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0x1014d]
shl edx, cl
mov eax, dword [ebp - 0xc928]
mov byte [eax], dl
mov ecx, dword [ebp - 0x3d60]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x524]
movzx ecx, word [eax]
xor edx, ecx
mov word [ebp - 0x7c04], dx
mov edx, dword [ebp - 0x5e34]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2bdc]
shr eax, cl
mov ecx, dword [ebp - 0x5e34]
mov dword [ecx], eax
mov edx, dword [ebp - 0x49bc]
mov eax, dword [edx]
or eax, dword [ebp - 0x143c]
mov dword [ebp - 0x431c], eax
mov ecx, dword [ebp - 0x7b44]
and ecx, dword [ebp - 0x6208]
mov edx, dword [ebp - 0x49bc]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x3e24]
mov dword [ebp - 0xe74], ecx
movzx edx, word [ebp - 0x7c04]
movzx eax, word [0x4df380]
sub edx, eax
mov word [ebp - 0x3d8], dx
mov ecx, dword [ebp - 0xc928]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x1014d]
add edx, eax
mov byte [0x4dd248], dl
jmp 0x405256
mov ecx, dword [ebp - 0x524]
movzx edx, word [ecx]
mov dword [ebp - 0x101fc], edx
cmp dword [ebp - 0x101fc], 0x82d
je 0x4054fb
jmp 0x405513
lea eax, [ebp - 0x49b8]
push eax
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameA]
mov dword [ebp - 0xf3d8], eax
jmp 0x4d35b7
mov cl, byte [ebp - 0x6931]
mov byte [ebp - 0xeff9], cl
mov dword [ebp - 0x552c], 0xb159
mov edx, dword [ebp - 0xc928]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x2b59]
sub eax, ecx
mov edx, dword [ebp - 0xc928]
mov byte [edx], al
movzx eax, word [ebp - 0x3d8]
mov ecx, dword [ebp - 0x3d60]
movzx ecx, word [ecx]
shl eax, cl
mov word [ebp - 0x7c04], ax
mov edx, dword [ebp - 0xe428]
or edx, dword [ebp - 0x2bdc]
mov eax, dword [ebp - 0x5e34]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x2bdc]
mov eax, dword [ebp - 0x5e34]
mov dword [eax], edx
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x6208]
sar edx, cl
mov dword [0x4dd250], edx
mov eax, dword [ebp - 0x2604]
mov ecx, dword [ebp - 0x431c]
and ecx, dword [eax]
mov dword [ebp - 0x143c], ecx
mov edx, dword [ebp - 0x49bc]
mov eax, dword [ebp - 0x431c]
add eax, dword [edx]
mov dword [ebp - 0x7b44], eax
movzx ecx, word [ebp - 0x3d8]
movzx edx, word [ebp - 0x7c04]
add ecx, edx
mov eax, dword [ebp - 0x524]
mov word [eax], cx
movzx ecx, byte [ebp - 0x2b59]
mov edx, dword [ebp - 0xc928]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x1014d], cl
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ecx]
sub edx, dword [ebp - 0xe74]
mov dword [ebp - 0xe428], edx
mov eax, dword [ebp - 0xb750]
add eax, dword [ebp - 0x143c]
mov ecx, dword [ebp - 0x9978]
mov dword [ecx], eax
mov edx, dword [ebp - 0x165c]
mov eax, dword [ebp - 0x9978]
mov ecx, dword [edx]
and ecx, dword [eax]
mov edx, dword [ebp - 0x49bc]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x2bdc]
mov dword [ebp - 0xe428], ecx
movzx edx, byte [ebp - 0x2b59]
movzx eax, byte [ebp - 0x1014d]
sub edx, eax
mov ecx, dword [ebp - 0xc928]
mov byte [ecx], dl
mov edx, dword [ebp - 0x524]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x3abc]
movzx edx, word [ecx]
sub eax, edx
mov word [0x4df380], ax
mov eax, dword [ebp - 0xc928]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x1014d]
xor ecx, edx
mov eax, dword [ebp - 0xc928]
mov byte [eax], cl
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ebp - 0x49bc]
mov eax, dword [ecx]
mov ecx, dword [edx]
sar eax, cl
mov ecx, dword [ebp - 0x9978]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3e24]
mov ecx, dword [ebp - 0x6158]
shl edx, cl
mov eax, dword [ebp - 0x5e34]
mov dword [eax], edx
mov ecx, dword [ebp - 0x9978]
mov edx, dword [ebp - 0x431c]
or edx, dword [ecx]
mov eax, dword [ebp - 0x49bc]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x1014d]
movzx edx, byte [0x4dd248]
and ecx, edx
mov byte [ebp - 0x2b59], cl
movzx eax, word [ebp - 0x7c04]
movzx ecx, word [ebp - 0x3d8]
sub eax, ecx
mov edx, dword [ebp - 0x3abc]
mov word [edx], ax
mov eax, dword [ebp - 0x9978]
mov ecx, dword [ebp - 0x7b44]
sub ecx, dword [eax]
mov dword [ebp - 0x9dcc], ecx
mov edx, dword [ebp - 0x5e34]
mov eax, dword [edx]
sub eax, dword [ebp - 0xe428]
mov dword [ebp - 0xe74], eax
mov ecx, dword [ebp - 0x9978]
mov edx, dword [ebp - 0x9dcc]
add edx, dword [ecx]
mov eax, dword [ebp - 0x2604]
mov dword [eax], edx
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
add edx, dword [0x4dd250]
mov dword [ebp - 0xb750], edx
mov eax, dword [ebp - 0x552c]
sub eax, 0x37
mov dword [ebp - 0x552c], eax
movzx ecx, word [ebp - 0x7c04]
mov edx, dword [ebp - 0x524]
movzx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x3d60]
mov word [edx], cx
mov eax, dword [ebp - 0xc928]
movzx ecx, byte [eax]
movzx edx, byte [0x4dd248]
and ecx, edx
mov eax, dword [ebp - 0xc928]
mov byte [eax], cl
mov ecx, dword [ebp - 0xe74]
sub ecx, dword [ebp - 0x2bdc]
mov edx, dword [ebp - 0x5e34]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2604]
mov edx, dword [ebp - 0x143c]
mov ecx, dword [eax]
sar edx, cl
mov eax, dword [ebp - 0x9978]
mov dword [eax], edx
mov ecx, dword [ebp - 0x165c]
mov edx, dword [0x4dd250]
or edx, dword [ecx]
mov dword [ebp - 0x7b44], edx
mov eax, dword [ebp - 0x9978]
mov edx, dword [ebp - 0x431c]
mov ecx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x9978]
mov edx, dword [ebp - 0x165c]
mov eax, dword [ecx]
xor eax, dword [edx]
mov dword [ebp - 0xb750], eax
mov ecx, dword [ebp - 0xc928]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x2b59]
add edx, eax
mov byte [0x4dd248], dl
movsx ecx, word [ebp - 0x5d08]
and ecx, 0x2e
mov word [ebp - 0xa1f4], cx
cmp dword [ebp - 0x552c], 0xa43e
ja 0x405529
mov edx, dword [ebp - 0xc928]
movzx eax, byte [edx]
movzx ecx, byte [0x4dd248]
sub eax, ecx
movzx edx, byte [ebp - 0x1014d]
movzx ecx, byte [ebp - 0x2b59]
sub edx, ecx
cmp eax, edx
jl 0x4d3570
mov edx, dword [ebp - 0x5e34]
mov eax, dword [ebp - 0x6158]
sub eax, dword [edx]
mov dword [ebp - 0xe74], eax
movzx ecx, byte [ebp - 0x2b59]
movzx edx, byte [0x4dd248]
add ecx, edx
mov eax, dword [ebp - 0xc928]
movzx edx, byte [eax]
movzx eax, byte [ebp - 0x1014d]
and edx, eax
cmp ecx, edx
je 0x40593a
lea ecx, [ebp - 0x2664]
push ecx
mov edx, dword [ebp - 0x9cb0]
push edx
mov eax, dword [ebp - 0xfd48]
push eax
mov ecx, dword [ebp - 0xf31c]
push ecx
mov edx, dword [ebp - 0xae54]
push edx
mov eax, dword [ebp - 0xfd48]
push eax
mov ecx, dword [ebp - 0xae54]
push ecx
push 0x28
call sub.VERSION.dll_VerInstallFileA
mov dword [ebp - 0x3e24], eax
mov edx, dword [ebp - 0x3d60]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x86a4]
movzx edx, word [ecx]
or eax, edx
mov word [ebp - 0x7c04], ax
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
push ecx
movzx edx, byte [ebp - 0x1014d]
push edx
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
push ecx
movzx edx, word [ebp - 0xa1f4]
push edx
movzx eax, word [ebp - 0xa1f4]
push eax
call fcn.004d3a90
add esp, 0x14
mov cl, byte [ebp - 0x2b59]
mov byte [ebp - 0xdeed], cl
mov edx, dword [ebp - 0x5e34]
mov eax, dword [ebp - 0xe428]
mov ecx, dword [edx]
shr eax, cl
mov edx, dword [ebp - 0xe74]
mov ecx, dword [ebp - 0x6158]
shl edx, cl
cmp eax, edx
jb 0x405a2a
lea eax, [ebp - 0x143c]
mov dword [ebp - 0x1e98], eax
mov ecx, dword [ebp - 0x3d60]
mov dx, word [ecx]
mov word [0x4de964], dx
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [ebp - 0x3e24]
xor ecx, dword [eax]
mov dword [ebp - 0x2bdc], ecx
mov edx, dword [ebp - 0x2604]
mov eax, dword [ebp - 0x49bc]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0xb750], ecx
mov dword [ebp - 0x9ab4], 0x3628
lea edx, [ebp - 0x431c]
mov dword [ebp - 0xbfec], edx
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
mov dword [ebp - 0x10200], ecx
cmp dword [ebp - 0x10200], 0x2b3d
je 0x4059e4
jmp 0x405a2a
mov edx, dword [ebp - 0x3abc]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x3d8]
sub eax, ecx
mov edx, dword [ebp - 0x3d60]
mov word [edx], ax
mov eax, dword [ebp - 0xc928]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0xdeed]
and ecx, edx
mov byte [ebp - 0x1014d], cl
lea eax, [ebp - 0xbae8]
push eax
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameA]
mov dword [ebp - 0xf3d8], eax
cmp dword [ebp - 0x176c], 0x6f0e
jb 0x405c8e
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ebp - 0x2bdc]
add edx, dword [ecx]
mov dword [ebp - 0xe74], edx
mov eax, dword [ebp - 0x1e98]
mov ecx, dword [eax]
mov edx, dword [ebp - 0xbfec]
add ecx, dword [edx]
mov dword [ebp - 0x9dcc], ecx
mov eax, dword [ebp - 0x6208]
sub eax, dword [0x4dd250]
mov ecx, dword [ebp - 0x1e98]
mov dword [ecx], eax
mov edx, dword [ebp - 0xb750]
add edx, dword [ebp - 0x431c]
mov eax, dword [ebp - 0xbfec]
mov dword [eax], edx
movzx ecx, word [ebp - 0x3d8]
mov edx, dword [ebp - 0x86a4]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp - 0x7c04], cx
mov ecx, dword [ebp - 0xc928]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0xdeed]
add edx, eax
mov ecx, dword [ebp - 0xc928]
mov byte [ecx], dl
mov edx, dword [ebp - 0x2bdc]
add edx, dword [ebp - 0x3e24]
mov eax, dword [ebp - 0x5e34]
mov dword [eax], edx
mov ecx, dword [ebp - 0x9978]
mov edx, dword [ebp - 0x49bc]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0xb750], eax
mov ecx, dword [ebp - 0xbfec]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x143c]
shl edx, cl
mov dword [ebp - 0x6208], edx
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [ebp - 0x2bdc]
or ecx, dword [eax]
mov dword [ebp - 0x6158], ecx
mov edx, dword [ebp - 0x49bc]
mov eax, dword [ebp - 0x1e98]
mov edx, dword [edx]
mov ecx, dword [eax]
sar edx, cl
mov dword [ebp - 0x6208], edx
movzx eax, byte [ebp - 0x2b59]
movzx ecx, byte [0x4dd248]
xor eax, ecx
mov byte [ebp - 0xdeed], al
mov edx, dword [ebp - 0x3d60]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x7c04]
and eax, ecx
mov word [0x4df380], ax
mov edx, dword [ebp - 0x49bc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x165c]
add eax, dword [ecx]
mov edx, dword [ebp - 0x2604]
mov dword [edx], eax
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [ebp - 0xe74]
sub ecx, dword [eax]
mov dword [ebp - 0x2bdc], ecx
mov edx, dword [ebp - 0x2604]
mov eax, dword [ebp - 0x165c]
mov ecx, dword [edx]
and ecx, dword [eax]
mov edx, dword [ebp - 0x9978]
mov dword [edx], ecx
mov eax, dword [ebp - 0x49bc]
mov ecx, dword [0x4dd24c]
sub ecx, dword [eax]
mov edx, dword [ebp - 0xbfec]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x1014d]
movzx ecx, byte [ebp - 0xdeed]
add eax, ecx
mov edx, dword [ebp - 0xc928]
mov byte [edx], al
movzx eax, word [ebp - 0x7c04]
movzx ecx, word [ebp - 0x3d8]
add eax, ecx
mov edx, dword [ebp - 0x3abc]
mov word [edx], ax
movsx eax, byte [ebp - 0x6931]
sub eax, 0x71
mov byte [ebp - 0xeff9], al
movsx ecx, word [ebp - 0x5d08]
add ecx, 0x99
mov word [ebp - 0xa1f4], cx
mov edx, dword [ebp - 0x2604]
mov eax, dword [edx]
or eax, dword [0x4dd24c]
mov dword [0x4dd250], eax
mov ecx, dword [ebp - 0x49bc]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x143c]
shl edx, cl
mov eax, dword [ebp - 0x1e98]
mov dword [eax], edx
mov ecx, dword [ebp - 0x176c]
sub ecx, 0x55
mov dword [ebp - 0x176c], ecx
mov edx, dword [ebp - 0xc928]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x1014d]
xor eax, ecx
mov edx, dword [ebp - 0xc928]
mov byte [edx], al
mov eax, dword [ebp - 0x524]
movzx edx, word [eax]
movzx ecx, word [ebp - 0x3d8]
sar edx, cl
mov word [ebp - 0x7c04], dx
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x6158]
mov dword [ebp - 0xe74], ecx
jmp 0x405a2a
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
add eax, dword [ebp - 0x143c]
mov dword [ebp - 0xb750], eax
cmp dword [ebp - 0xe1e0], 0x6bcf
je 0x406058
mov ecx, dword [ebp - 0x143c]
add ecx, dword [ebp - 0x7b44]
mov edx, dword [ebp - 0x1e98]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [ebp - 0x3e24]
sub ecx, dword [eax]
mov dword [ebp - 0xe428], ecx
movzx edx, byte [ebp - 0x1014d]
movzx eax, byte [ebp - 0x2b59]
sub edx, eax
mov ecx, dword [ebp - 0xc928]
mov byte [ecx], dl
movzx edx, word [ebp - 0x7c04]
movzx eax, word [0x4df380]
and edx, eax
mov ecx, dword [ebp - 0x524]
mov word [ecx], dx
mov edx, dword [ebp - 0x9978]
mov eax, dword [ebp - 0x6208]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x49bc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x9978]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xbfec]
add eax, dword [ecx]
mov edx, dword [ebp - 0x165c]
mov dword [edx], eax
mov eax, dword [ebp - 0x6158]
sub eax, dword [ebp - 0x3e24]
mov dword [ebp - 0xe74], eax
mov ecx, dword [ebp - 0xe1e0]
add ecx, 0xc5
mov dword [ebp - 0xe1e0], ecx
mov edx, dword [ebp - 0x2604]
mov eax, dword [edx]
add eax, dword [ebp - 0xb750]
mov dword [ebp - 0x6208], eax
mov ecx, dword [ebp - 0x49bc]
mov edx, dword [ebp - 0x1e98]
mov eax, dword [ecx]
xor eax, dword [edx]
mov dword [ebp - 0xb750], eax
movzx edx, word [ebp - 0x7c04]
mov eax, dword [ebp - 0x3abc]
movzx ecx, word [eax]
shl edx, cl
mov ecx, dword [ebp - 0x3d60]
mov word [ecx], dx
mov edx, dword [ebp - 0xbfec]
mov eax, dword [ebp - 0x1e98]
mov edx, dword [edx]
mov ecx, dword [eax]
sar edx, cl
mov eax, dword [ebp - 0x2604]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc928]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0xdeed]
or edx, eax
mov ecx, dword [ebp - 0xc928]
mov byte [ecx], dl
movzx edx, word [ebp - 0x3d8]
movzx eax, word [0x4df380]
and edx, eax
mov word [0x4de964], dx
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ebp - 0x6158]
add edx, dword [ecx]
mov dword [ebp - 0xe428], edx
mov eax, dword [ebp - 0xbfec]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x49bc]
add ecx, dword [edx]
mov eax, dword [ebp - 0x2604]
mov dword [eax], ecx
movzx ecx, word [ebp - 0x3d8]
mov edx, dword [ebp - 0x3d60]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp - 0x7c04], cx
mov ecx, dword [ebp - 0xc928]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0xdeed]
sub edx, eax
mov byte [ebp - 0x1014d], dl
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x3e24]
mov eax, dword [ebp - 0x5e34]
mov dword [eax], edx
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ebp - 0x7b44]
and edx, dword [ecx]
mov eax, dword [ebp - 0x49bc]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2604]
mov edx, dword [ebp - 0x165c]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0xbfec]
mov dword [ecx], eax
mov edx, dword [ebp - 0x6158]
add edx, dword [ebp - 0xe428]
mov dword [ebp - 0xe74], edx
movzx eax, byte [ebp - 0x2b59]
movzx ecx, byte [ebp - 0xdeed]
add eax, ecx
mov edx, dword [ebp - 0xc928]
mov byte [edx], al
mov eax, dword [ebp - 0x86a4]
movzx edx, word [eax]
movzx ecx, word [ebp - 0x3d8]
sar edx, cl
mov eax, dword [ebp - 0x3d60]
mov word [eax], dx
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ebp - 0xbfec]
mov eax, dword [ecx]
xor eax, dword [edx]
mov dword [ebp - 0x143c], eax
mov ecx, dword [ebp - 0x1e98]
mov edx, dword [ebp - 0xb750]
or edx, dword [ecx]
mov dword [ebp - 0x7b44], edx
mov eax, dword [ebp - 0xc928]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0xdeed]
shl edx, cl
mov eax, dword [ebp - 0xc928]
mov byte [eax], dl
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ecx]
and edx, dword [ebp - 0xe74]
mov eax, dword [ebp - 0x5e34]
mov dword [eax], edx
mov ecx, dword [ebp - 0x86a4]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x524]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x3abc]
mov word [eax], dx
mov ecx, dword [ebp - 0xc928]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0xdeed]
add edx, eax
mov ecx, dword [ebp - 0xc928]
mov byte [ecx], dl
mov edx, dword [ebp - 0x2bdc]
sub edx, dword [ebp - 0x6158]
mov eax, dword [ebp - 0x5e34]
mov dword [eax], edx
movzx ecx, byte [ebp - 0xdeed]
movzx edx, byte [ebp - 0x2b59]
sub ecx, edx
mov byte [0x4dd248], cl
mov eax, dword [ebp - 0x2604]
mov ecx, dword [ebp - 0x143c]
add ecx, dword [eax]
mov dword [ebp - 0xb750], ecx
mov edx, dword [0x4dd24c]
sub edx, dword [ebp - 0xb750]
mov dword [ebp - 0x9dcc], edx
mov eax, dword [ebp - 0x1e98]
mov ecx, dword [ebp - 0x6208]
and ecx, dword [eax]
mov edx, dword [ebp - 0xbfec]
mov dword [edx], ecx
mov eax, dword [ebp - 0xc928]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x2b59]
add ecx, edx
mov byte [ebp - 0xdeed], cl
movzx eax, word [ebp - 0x3d8]
movzx ecx, word [ebp - 0x7c04]
xor eax, ecx
mov edx, dword [ebp - 0x3d60]
mov word [edx], ax
mov eax, dword [ebp - 0x5e34]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x6158]
shl edx, cl
mov eax, dword [ebp - 0x5e34]
mov dword [eax], edx
mov ecx, dword [ebp - 0x9978]
mov edx, dword [ebp - 0xbfec]
mov eax, dword [ecx]
or eax, dword [edx]
mov dword [ebp - 0xb750], eax
mov ecx, dword [ebp - 0x49bc]
mov edx, dword [ecx]
mov ecx, dword [0x4dd24c]
sar edx, cl
mov dword [ebp - 0x9dcc], edx
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x6158]
mov dword [ebp - 0x3e24], ecx
jmp 0x405ca2
lea edx, [ebp - 0xdeed]
mov dword [0x4df4e0], edx
mov ax, word [ebp - 0x3d8]
mov word [ebp - 0xf728], ax
lea ecx, [ebp - 0x2b59]
mov dword [ebp - 0x7fc0], ecx
lea edx, [ebp - 0x5d08]
mov dword [ebp - 0x9a58], edx
mov eax, dword [ebp - 0x3d60]
movzx ecx, word [eax]
mov dword [ebp - 0x10204], ecx
cmp dword [ebp - 0x10204], 0xa36
je 0x4060a7
jmp 0x4060c2
movsx edx, word [ebp - 0x5d08]
movsx eax, word [ebp - 0xa1f4]
and edx, eax
mov ecx, dword [ebp - 0x9a58]
mov word [ecx], dx
jmp 0x40612d
mov edx, dword [ebp - 0x2bdc]
mov dword [ebp - 0xef80], edx
mov eax, dword [ebp - 0x9dcc]
sub eax, dword [ebp - 0x431c]
mov ecx, dword [ebp - 0x49bc]
mov dword [ecx], eax
mov dword [ebp - 0xb42c], 0xcfb5
mov edx, dword [ebp - 0x7fc0]
mov al, byte [edx]
mov byte [ebp - 0xd28d], al
mov ecx, dword [ebp - 0x3d60]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x86a4]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x3d8], dx
mov edx, dword [ebp - 0x9a58]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x5d08]
sub eax, ecx
mov word [0x4dd254], ax
mov edx, dword [ebp - 0xbfec]
mov eax, dword [edx]
sub eax, dword [ebp - 0xb750]
mov dword [ebp - 0x7b44], eax
cmp dword [ebp - 0x9ab4], 0x3377
jbe 0x4064e0
mov ecx, dword [ebp - 0xe428]
add ecx, dword [ebp - 0xe74]
mov dword [ebp - 0x2bdc], ecx
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x9978]
add eax, dword [ecx]
mov edx, dword [ebp - 0x165c]
mov dword [edx], eax
mov eax, dword [ebp - 0x165c]
mov ecx, dword [ebp - 0x7b44]
add ecx, dword [eax]
mov dword [ebp - 0x6208], ecx
movzx edx, word [ebp - 0xf728]
movzx eax, word [ebp - 0x7c04]
and edx, eax
mov word [ebp - 0x3d8], dx
movzx ecx, byte [ebp - 0x2b59]
mov edx, dword [ebp - 0x7fc0]
movzx eax, byte [edx]
xor ecx, eax
mov byte [ebp - 0xdeed], cl
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xef80]
shl edx, cl
mov eax, dword [ebp - 0x5e34]
mov dword [eax], edx
mov ecx, dword [ebp - 0x9dcc]
or ecx, dword [ebp - 0x7b44]
mov dword [ebp - 0x143c], ecx
movzx edx, byte [0x4dd248]
movzx ecx, byte [ebp - 0x1014d]
sar edx, cl
mov eax, dword [0x4df4e0]
mov byte [eax], dl
mov ecx, dword [ebp - 0x143c]
add ecx, dword [ebp - 0x7b44]
mov dword [ebp - 0x6208], ecx
mov edx, dword [ebp - 0xbfec]
mov eax, dword [edx]
sub eax, dword [ebp - 0x6208]
mov dword [ebp - 0x9dcc], eax
mov ecx, dword [ebp - 0x9a58]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x5d08]
and edx, eax
mov ecx, dword [ebp - 0x9a58]
mov word [ecx], dx
movsx edx, byte [ebp - 0x6931]
add edx, 0x56
mov byte [ebp - 0xeff9], dl
movzx eax, word [ebp - 0x3d8]
mov ecx, dword [ebp - 0x524]
movzx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x3abc]
mov word [ecx], ax
mov edx, dword [ebp - 0x7fc0]
movzx eax, byte [edx]
movzx ecx, byte [0x4dd248]
sub eax, ecx
mov byte [ebp - 0x1014d], al
mov edx, dword [ebp - 0x5e34]
mov eax, dword [edx]
add eax, dword [ebp - 0x2bdc]
mov dword [ebp - 0xe74], eax
mov ecx, dword [ebp - 0xef80]
sub ecx, dword [ebp - 0x2bdc]
mov edx, dword [ebp - 0x5e34]
mov dword [edx], ecx
mov eax, dword [0x4df4e0]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x7fc0]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [0x4df4e0]
mov byte [edx], cl
mov eax, dword [ebp - 0x524]
movzx ecx, word [eax]
movzx edx, word [ebp - 0xf728]
sub ecx, edx
mov eax, dword [ebp - 0x3d60]
mov word [eax], cx
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x1e98]
add edx, dword [eax]
mov dword [ebp - 0x6208], edx
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xe428]
shr edx, cl
mov eax, dword [ebp - 0x5e34]
mov dword [eax], edx
mov ecx, dword [ebp - 0x9978]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x9dcc]
mov eax, dword [ebp - 0x1e98]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1e98]
mov edx, dword [ebp - 0x431c]
or edx, dword [ecx]
mov eax, dword [ebp - 0x49bc]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3d60]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x524]
movzx ecx, word [eax]
shl edx, cl
mov word [ebp - 0x3d8], dx
mov ecx, dword [0x4df4e0]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x2b59]
and edx, eax
mov ecx, dword [ebp - 0xc928]
mov byte [ecx], dl
mov edx, dword [ebp - 0x5e34]
mov eax, dword [edx]
add eax, dword [ebp - 0x3e24]
mov ecx, dword [ebp - 0x5e34]
mov dword [ecx], eax
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2604]
add eax, dword [ecx]
mov dword [0x4dd250], eax
movsx edx, byte [ebp - 0xeff9]
and edx, 0x3e
mov byte [ebp - 0x6931], dl
movsx eax, word [0x4dd254]
movsx ecx, word [ebp - 0xa1f4]
sub eax, ecx
mov edx, dword [ebp - 0x9a58]
mov word [edx], ax
mov eax, dword [ebp - 0x9ab4]
sub eax, 0xd
mov dword [ebp - 0x9ab4], eax
movzx ecx, word [ebp - 0x7c04]
mov edx, dword [ebp - 0x3d60]
movzx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0x524]
mov word [edx], cx
movzx eax, byte [ebp - 0xd28d]
mov ecx, dword [ebp - 0xc928]
movzx edx, byte [ecx]
add eax, edx
mov byte [ebp - 0x1014d], al
mov eax, dword [ebp - 0x6158]
sub eax, dword [ebp - 0x3e24]
mov ecx, dword [ebp - 0x5e34]
mov dword [ecx], eax
mov edx, dword [ebp - 0x49bc]
mov eax, dword [ebp - 0x1e98]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x49bc]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0x9dcc]
mov edx, dword [ebp - 0x1e98]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5e34]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x2bdc]
shr edx, cl
mov dword [ebp - 0xe428], edx
mov eax, dword [0x4dd24c]
or eax, dword [ebp - 0x7b44]
mov dword [0x4dd250], eax
movzx edx, byte [ebp - 0x1014d]
movzx ecx, byte [ebp - 0xd28d]
shl edx, cl
mov byte [ebp - 0x2b59], dl
movzx eax, word [ebp - 0x7c04]
movzx ecx, word [ebp - 0xf728]
and eax, ecx
mov word [ebp - 0x3d8], ax
mov edx, dword [ebp - 0x165c]
mov eax, dword [ebp - 0x7b44]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x1e98]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5e34]
mov eax, dword [edx]
sub eax, dword [ebp - 0xe74]
mov ecx, dword [ebp - 0x5e34]
mov dword [ecx], eax
mov edx, dword [ebp - 0xbfec]
mov eax, dword [ebp - 0x9dcc]
add eax, dword [edx]
mov dword [ebp - 0x143c], eax
jmp 0x406141
movsx ecx, byte [ebp - 0xeff9]
add ecx, 0x42
movsx edx, byte [ebp - 0x6931]
cmp ecx, edx
jle 0x4d3491
mov eax, dword [ebp - 0x165c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x143c]
sar edx, cl
mov eax, dword [ebp - 0x1e98]
mov ecx, dword [ebp - 0x9978]
mov eax, dword [eax]
mov ecx, dword [ecx]
shl eax, cl
cmp edx, eax
jge 0x406598
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ecx]
and edx, dword [ebp - 0x2bdc]
mov dword [ebp - 0x6158], edx
lea eax, [ebp - 0x738c]
push eax
call dword [sym.imp.COMDLG32.dll_FindTextA]
mov dword [ebp - 0xbf24], eax
mov ecx, dword [ebp - 0x7b44]
mov dword [ebp - 0x10208], ecx
cmp dword [ebp - 0x10208], 0x56dd
je 0x406560
jmp 0x406580
mov edx, dword [ebp - 0x6208]
push edx
mov eax, dword [ebp - 0x3e24]
push eax
movzx ecx, word [ebp - 0x5d08]
push ecx
call fcn.004d3c30
add esp, 0xc
jmp 0x406598
mov edx, dword [ebp - 0x9978]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x49bc]
add eax, dword [ecx]
mov edx, dword [ebp - 0x1e98]
mov dword [edx], eax
movsx eax, byte [ebp - 0x6931]
add eax, 0x10
movsx ecx, byte [ebp - 0xeff9]
cmp eax, ecx
jl 0x4065d6
mov edx, dword [ebp - 0xc928]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x7fc0]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0xd28d], al
mov eax, dword [ebp - 0x9dcc]
push eax
call fcn.00402350
add esp, 4
mov ecx, dword [ebp - 0x86a4]
mov dx, word [ecx]
mov word [ebp - 0xb694], dx
mov eax, dword [ebp - 0x3d60]
movzx ecx, word [eax]
mov dword [ebp - 0x1020c], ecx
cmp dword [ebp - 0x1020c], 0x758
je 0x406612
cmp dword [ebp - 0x1020c], 0xc67
je 0x406651
jmp 0x4066ae
mov edx, dword [ebp - 0x6158]
add edx, dword [ebp - 0xe428]
mov dword [ebp - 0x2bdc], edx
lea eax, [ebp - 0x2048]
push eax
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameA]
mov dword [ebp - 0x66e0], eax
mov ecx, dword [ebp - 0x1e98]
mov edx, dword [ebp - 0x2604]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x49bc]
mov dword [ecx], eax
jmp 0x4066ae
mov edx, dword [ebp - 0x49bc]
mov eax, dword [ebp - 0xbfec]
mov ecx, dword [edx]
and ecx, dword [eax]
mov dword [ebp - 0x143c], ecx
mov edx, dword [ebp - 0xc928]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x7fc0]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [0x4df4e0]
mov byte [ecx], al
movzx edx, byte [ebp - 0xeff9]
push edx
mov eax, dword [ebp - 0x86a4]
movzx ecx, word [eax]
push ecx
movzx edx, byte [ebp - 0x6931]
push edx
mov dl, byte [ebp - 0x6931]
mov cl, byte [ebp - 0x1014d]
call fcn.00403430
movzx eax, word [ebp - 0xf728]
movzx ecx, word [ebp - 0x3d8]
sub eax, ecx
mov edx, dword [ebp - 0x86a4]
mov word [edx], ax
mov al, byte [ebp - 0x1014d]
mov byte [ebp - 0xc4e1], al
mov ecx, dword [ebp - 0x1e98]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x7b44]
mov dword [ebp - 0x9dcc], edx
mov eax, dword [0x4dd24c]
xor eax, dword [ebp - 0x431c]
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5e34]
mov eax, dword [edx]
mov dword [ebp - 0xcd68], eax
mov edx, dword [ebp - 0xb750]
mov ecx, dword [ebp - 0x7b44]
shl edx, cl
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x49bc]
mov edx, dword [ecx]
mov dword [ebp - 0x6e64], edx
lea eax, [ebp - 0x5d08]
mov dword [ebp - 0x8c3c], eax
mov dword [ebp - 0x4a4], 0x4278
movsx ecx, byte [ebp - 0xeff9]
movsx edx, byte [ebp - 0x6931]
or ecx, edx
mov byte [0x4dd249], cl
mov al, byte [ebp - 0xeff9]
mov byte [ebp - 0x96f5], al
mov dword [ebp - 0x5a44], 0x2f64
movzx edx, word [ebp - 0x7c04]
mov eax, dword [ebp - 0x86a4]
movzx ecx, word [eax]
sar edx, cl
mov word [ebp - 0x3d8], dx
lea ecx, [ebp - 0x1014d]
mov dword [ebp - 0xca5c], ecx
lea edx, [ebp - 0xe428]
mov dword [ebp - 0x30b0], edx
mov eax, dword [ebp - 0xca5c]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xc928]
movzx eax, byte [edx]
and ecx, eax
movzx edx, byte [ebp - 0xc4e1]
mov eax, dword [0x4df4e0]
movzx eax, byte [eax]
sub edx, eax
cmp ecx, edx
je 0x4068aa
lea ecx, [ebp - 0xa2d0]
push ecx
call dword [sym.imp.COMDLG32.dll_PageSetupDlgA]
mov dword [ebp - 0x66e0], eax
mov dl, byte [ebp - 0xeff9]
mov byte [ebp - 0x10210], dl
cmp byte [ebp - 0x10210], 0x4e
je 0x406806
cmp byte [ebp - 0x10210], 0x6c
je 0x406896
jmp 0x4068aa
mov eax, dword [ebp - 0x6e64]
add eax, dword [ebp - 0x7b44]
mov dword [ebp - 0xb750], eax
mov ecx, dword [ebp - 0x7fc0]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0xc928]
movzx ecx, byte [eax]
sub edx, ecx
movzx eax, byte [ebp - 0x1014d]
movzx ecx, byte [ebp - 0x2b59]
sub eax, ecx
cmp edx, eax
jl 0x406886
mov edx, dword [ebp - 0x7fc0]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x2b59]
and eax, ecx
mov edx, dword [ebp - 0x7fc0]
mov byte [edx], al
mov eax, dword [ebp - 0x86a4]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x3d60]
movzx eax, word [edx]
add ecx, eax
mov word [ebp - 0xb694], cx
mov ecx, dword [ebp - 0x9dcc]
push ecx
call fcn.00402350
add esp, 4
jmp 0x406894
mov edx, dword [ebp - 0x30b0]
mov eax, dword [edx]
push eax
call fcn.004d3a60
jmp 0x4068aa
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ecx]
or edx, dword [ebp - 0xcd68]
mov dword [ebp - 0x3e24], edx
mov eax, dword [ebp - 0x3e24]
mov dword [ebp - 0x10214], eax
cmp dword [ebp - 0x10214], 0x394e
je 0x4068d7
cmp dword [ebp - 0x10214], 0x418a
je 0x406a5a
jmp 0x406b1e
lea ecx, [ebp - 0x396c]
push ecx
mov edx, dword [ebp - 0x8ec]
push edx
lea eax, [ebp - 0x90bc]
push eax
lea ecx, [ebp - 0x85a8]
push ecx
mov edx, dword [ebp - 0x2664]
push edx
mov eax, dword [ebp - 0xfd48]
push eax
push str.C:UnquestioningConsoles
push 0x16
call sub.VERSION.dll_VerFindFileA
mov dword [ebp - 0x6158], eax
mov cl, byte [ebp - 0x6931]
mov byte [ebp - 0x10218], cl
cmp byte [ebp - 0x10218], 0x2c
je 0x40693a
cmp byte [ebp - 0x10218], 0x40
je 0x406a3f
jmp 0x406a55
movzx edx, word [0x4de964]
mov eax, dword [ebp - 0x3d60]
movzx ecx, word [eax]
shl edx, cl
movzx ecx, word [ebp - 0x3d8]
mov eax, dword [ebp - 0x3abc]
movzx eax, word [eax]
xor ecx, eax
cmp edx, ecx
jl 0x4069f8
movzx ecx, byte [ebp - 0xd28d]
movzx edx, byte [ebp - 0x2b59]
and ecx, edx
mov eax, dword [0x4df4e0]
mov byte [eax], cl
mov ecx, dword [ebp - 0xb750]
sub ecx, dword [ebp - 0x143c]
mov dword [ebp - 0x7b44], ecx
movsx edx, byte [ebp - 0x96f5]
movsx eax, byte [0x4dd249]
sub edx, eax
movsx ecx, byte [ebp - 0xeff9]
movsx eax, byte [ebp - 0x6931]
sub ecx, eax
cmp edx, ecx
jle 0x4069f6
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ebp - 0xe74]
add edx, dword [ecx]
mov eax, dword [ebp - 0x30b0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x143c]
push ecx
mov edx, dword [ebp - 0x1e98]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x6e64]
push ecx
mov edx, dword [ebp - 0x6208]
push edx
mov eax, dword [ebp - 0x6e64]
push eax
call fcn.00402d00
add esp, 0x14
jmp 0x406a3d
mov ecx, dword [ebp - 0x9a58]
movsx edx, word [ecx]
mov eax, dword [ebp - 0x8c3c]
movsx ecx, word [eax]
sar edx, cl
movsx ecx, word [ebp - 0xa1f4]
movsx eax, word [ebp - 0x5d08]
add ecx, eax
cmp edx, ecx
jne 0x406a3d
push 0x59
mov ecx, dword [ebp - 0xf31c]
push ecx
mov edx, dword [ebp - 0xf31c]
push edx
call dword [sym.imp.COMDLG32.dll_GetFileTitleA]
mov word [ebp - 0xe5ec], ax
jmp 0x406a55
movzx eax, byte [ebp - 0x1014d]
movzx ecx, byte [ebp - 0xdeed]
add eax, ecx
mov byte [ebp - 0xc4e1], al
jmp 0x406b1e
mov edx, dword [ebp - 0x524]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x3d60]
movzx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x3abc]
movzx edx, word [ecx]
mov ecx, dword [ebp - 0x86a4]
movzx ecx, word [ecx]
add edx, ecx
cmp eax, edx
je 0x406abd
movzx edx, word [ebp - 0x7c04]
mov eax, dword [ebp - 0x3d60]
movzx ecx, word [eax]
sar edx, cl
mov ecx, dword [ebp - 0x86a4]
mov word [ecx], dx
movzx edx, byte [ebp - 0x6931]
push edx
mov dx, word [0x4dd254]
mov ecx, dword [ebp - 0x6e64]
call fcn.00403500
jmp 0x406b01
movsx eax, byte [ebp - 0xeff9]
movsx ecx, byte [ebp - 0x96f5]
imul eax, ecx
movsx edx, byte [ebp - 0x6931]
movsx ecx, byte [0x4dd249]
and edx, ecx
cmp eax, edx
jne 0x406b01
mov edx, dword [ebp - 0xb750]
mov ecx, dword [ebp - 0x7b44]
shl edx, cl
mov dword [ebp - 0x9dcc], edx
mov ecx, dword [ebp - 0x6e64]
call fcn.004d42f0
lea eax, [ebp - 0x65c4]
push eax
push 0x40
push 0x59
mov ecx, dword [ebp - 0x2664]
push ecx
call sub.VERSION.dll_GetFileVersionInfoA
mov dword [ebp - 0x66e0], eax
mov edx, dword [ebp - 0x165c]
mov eax, dword [ebp - 0x9978]
mov ecx, dword [edx]
or ecx, dword [eax]
mov dword [ebp - 0x143c], ecx
mov dl, byte [ebp - 0x96f5]
mov byte [ebp - 0xeb11], dl
mov eax, dword [ebp - 0x3d60]
movzx ecx, word [eax]
movzx edx, word [ebp - 0xb694]
xor ecx, edx
mov eax, dword [ebp - 0x3abc]
movzx edx, word [eax]
mov eax, dword [ebp - 0x524]
movzx eax, word [eax]
sub edx, eax
cmp ecx, edx
jle 0x406b9b
mov ecx, dword [ebp - 0x30b0]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x5e34]
add edx, dword [eax]
mov dword [ebp - 0x6158], edx
mov ecx, dword [ebp - 0x30b0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2bdc]
shl edx, cl
mov dword [ebp - 0xe74], edx
jmp 0x4d33b7
mov eax, dword [ebp - 0x9978]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x431c]
sar edx, cl
mov dword [ebp - 0x143c], edx
mov eax, dword [ebp - 0x431c]
mov dword [ebp - 0x9fa0], eax
mov ecx, dword [ebp - 0x2604]
mov edx, dword [ebp - 0x9fa0]
or edx, dword [ecx]
mov eax, dword [ebp - 0x1e98]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3abc]
movzx edx, word [ecx]
mov dword [ebp - 0x1021c], edx
cmp dword [ebp - 0x1021c], 0xc0
je 0x406ca3
cmp dword [ebp - 0x1021c], 0x6d4
je 0x406c03
jmp 0x406dd0
movzx eax, byte [0x4dd248]
movzx ecx, byte [ebp - 0xd28d]
xor eax, ecx
mov edx, dword [ebp - 0x7fc0]
mov byte [edx], al
mov eax, dword [ebp - 0x2bdc]
and eax, dword [ebp - 0xef80]
mov ecx, dword [ebp - 0x6158]
sub ecx, dword [ebp - 0x3e24]
cmp eax, ecx
ja 0x406c9e
movzx edx, word [ebp - 0xf728]
movzx eax, word [ebp - 0xb694]
sub edx, eax
mov word [ebp - 0x3d8], dx
lea ecx, [ebp - 0x1718]
push ecx
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameA]
mov dword [ebp - 0xf0d0], eax
mov edx, dword [ebp - 0x5e34]
mov eax, dword [ebp - 0x2bdc]
and eax, dword [edx]
mov ecx, dword [ebp - 0x30b0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x49bc]
mov eax, dword [edx]
sub eax, dword [ebp - 0x431c]
mov dword [0x4dd24c], eax
mov ecx, dword [ebp - 0xb750]
add ecx, dword [ebp - 0x7b44]
mov edx, dword [ebp - 0x2604]
mov dword [edx], ecx
jmp 0x406dd0
mov eax, dword [0x4dd24c]
mov dword [ebp - 0x10220], eax
cmp dword [ebp - 0x10220], 0x7c
je 0x406cbc
jmp 0x406dba
lea ecx, [ebp - 0xa620]
push ecx
lea edx, [ebp - 0x5f40]
push edx
mov eax, dword [ebp - 0xfd48]
push eax
lea ecx, [ebp - 0xa498]
push ecx
call sub.VERSION.dll_VerQueryValueA
mov dword [ebp - 0x8320], eax
mov edx, dword [ebp - 0x5e34]
mov eax, dword [edx]
add eax, dword [ebp - 0x2bdc]
mov dword [ebp - 0xcd68], eax
movzx ecx, byte [ebp - 0xdeed]
mov edx, dword [ebp - 0x7fc0]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0xca5c]
mov byte [edx], cl
movsx eax, word [ebp - 0x5d08]
mov ecx, dword [ebp - 0x8c3c]
movsx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x9a58]
movsx edx, word [ecx]
movsx ecx, word [ebp - 0xe5ec]
sar edx, cl
cmp eax, edx
jg 0x406daa
movzx eax, word [ebp - 0x3d8]
movzx ecx, word [0x4df380]
xor eax, ecx
mov word [ebp - 0x7c04], ax
lea edx, [ebp - 0x2b59]
push edx
mov eax, dword [ebp - 0xae54]
push eax
mov ecx, dword [ebp - 0xae54]
push ecx
mov edx, dword [ebp - 0x2664]
push edx
mov eax, dword [ebp - 0xc1c4]
push eax
mov ecx, dword [ebp - 0x9cb0]
push ecx
mov edx, dword [ebp - 0x9cb0]
push edx
push 0x40
call sub.VERSION.dll_VerInstallFileA
mov dword [ebp - 0x2bdc], eax
mov eax, dword [ebp - 0x7fc0]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x1014d]
and ecx, edx
mov eax, dword [ebp - 0xca5c]
mov byte [eax], cl
jmp 0x406db8
mov cx, word [ebp - 0x5d08]
mov word [ebp - 0xe5ec], cx
jmp 0x406dd0
mov edx, dword [ebp - 0x30b0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x5e34]
add eax, dword [ecx]
mov dword [ebp - 0xcd68], eax
mov edx, dword [ebp - 0x165c]
mov eax, dword [ebp - 0xb750]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2604]
mov dword [ecx], eax
mov edx, dword [ebp - 0x25a4]
add edx, 0x3e
mov dword [ebp - 0x25a4], edx
movzx eax, byte [ebp - 0xd28d]
mov ecx, dword [ebp - 0x7fc0]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [0x4df4e0]
mov byte [ecx], al
movzx edx, word [ebp - 0xb694]
movzx eax, word [ebp - 0x7c04]
sub edx, eax
mov word [ebp - 0x3d8], dx
mov ecx, dword [ebp - 0xbfec]
mov edx, dword [ebp - 0xb750]
and edx, dword [ecx]
mov dword [ebp - 0x6208], edx
mov eax, dword [ebp - 0x30b0]
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0x3e24], edx
mov eax, dword [ebp - 0x1e98]
mov ecx, dword [ebp - 0x9978]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0x431c], edx
mov eax, dword [ebp - 0x9dcc]
add eax, dword [ebp - 0x7b44]
mov dword [ebp - 0x6e64], eax
mov ecx, dword [ebp - 0x3d60]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x3abc]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x524]
mov word [eax], dx
movzx edx, byte [ebp - 0x1014d]
movzx ecx, byte [ebp - 0xdeed]
shl edx, cl
mov byte [ebp - 0xc4e1], dl
mov eax, dword [ebp - 0x30b0]
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [eax]
mov ecx, dword [ecx]
shr edx, cl
mov dword [ebp - 0xef80], edx
mov eax, dword [ebp - 0x49bc]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0x9fa0]
mov dword [0x4dd250], ecx
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
or eax, dword [ebp - 0x6208]
mov ecx, dword [ebp - 0x1e98]
mov dword [ecx], eax
mov edx, dword [ebp - 0x165c]
mov eax, dword [ebp - 0x431c]
and eax, dword [edx]
mov dword [ebp - 0x6208], eax
mov ecx, dword [ebp - 0x49bc]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x165c]
add edx, dword [eax]
mov dword [ebp - 0x9fa0], edx
movsx ecx, byte [ebp - 0xeb11]
movsx edx, byte [ebp - 0xeff9]
sub ecx, edx
mov byte [ebp - 0x96f5], cl
movsx eax, word [ebp - 0x5d08]
mov ecx, dword [ebp - 0x8c3c]
movsx edx, word [ecx]
add eax, edx
mov ecx, dword [ebp - 0x9a58]
mov word [ecx], ax
movzx edx, byte [0x4dd248]
movzx eax, byte [ebp - 0xc4e1]
sub edx, eax
mov byte [ebp - 0x2b59], dl
movzx ecx, word [ebp - 0x3d8]
mov edx, dword [ebp - 0x524]
movzx eax, word [edx]
add ecx, eax
mov word [ebp - 0xb694], cx
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ecx]
and edx, dword [ebp - 0xcd68]
mov dword [ebp - 0x3e24], edx
movzx eax, word [ebp - 0xb694]
mov ecx, dword [ebp - 0x3d60]
movzx edx, word [ecx]
sub eax, edx
mov word [0x4df380], ax
movzx eax, word [ebp - 0xb694]
mov ecx, dword [ebp - 0x524]
movzx edx, word [ecx]
sub eax, edx
mov word [ebp - 0x3d8], ax
movzx eax, byte [ebp - 0x2b59]
mov ecx, dword [ebp - 0xca5c]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0xc928]
mov byte [ecx], al
mov edx, dword [ebp - 0x165c]
mov eax, dword [ebp - 0x9978]
mov edx, dword [edx]
mov ecx, dword [eax]
sar edx, cl
mov dword [ebp - 0x143c], edx
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
or ecx, dword [ebp - 0xe428]
mov edx, dword [ebp - 0x30b0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x9dcc]
mov ecx, dword [ebp - 0x7b44]
shl eax, cl
mov dword [ebp - 0x6e64], eax
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ebp - 0xbfec]
mov eax, dword [ecx]
xor eax, dword [edx]
mov dword [ebp - 0x6208], eax
mov ecx, dword [ebp - 0x7fc0]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0xc928]
movzx ecx, byte [eax]
and edx, ecx
mov eax, dword [ebp - 0xca5c]
mov byte [eax], dl
movzx ecx, word [ebp - 0x3d8]
movzx edx, word [ebp - 0xb694]
sub ecx, edx
mov eax, dword [ebp - 0x3d60]
mov word [eax], cx
mov ecx, dword [ebp - 0x49bc]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xbfec]
add edx, dword [eax]
mov dword [0x4dd250], edx
cmp dword [ebp - 0x25a4], 0xf6dd
jne 0x406dd0
mov ecx, dword [ebp - 0x30b0]
mov edx, dword [ebp - 0x6158]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x3e24]
cmp edx, ecx
ja 0x407217
mov edx, dword [ebp - 0xbfec]
mov eax, dword [ebp - 0x6208]
and eax, dword [edx]
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
add edx, dword [0x4dd24c]
cmp eax, edx
jle 0x4070ea
mov eax, dword [ebp - 0x2604]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x143c]
shl edx, cl
mov eax, dword [ebp - 0xbfec]
mov dword [eax], edx
jmp 0x4071f8
mov ecx, dword [ebp - 0xca5c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0xc928]
movzx ecx, byte [eax]
sar edx, cl
movzx ecx, byte [ebp - 0xd28d]
mov eax, dword [ebp - 0x7fc0]
movzx eax, byte [eax]
sub ecx, eax
cmp edx, ecx
jg 0x4071b7
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
mov dword [ebp - 0x10224], edx
cmp dword [ebp - 0x10224], 0x7b8
je 0x407140
cmp dword [ebp - 0x10224], 0x45f4
je 0x40719c
jmp 0x4071b5
lea eax, [ebp - 0xd7b0]
push eax
call dword [sym.imp.COMDLG32.dll_ReplaceTextA]
mov dword [ebp - 0xbf24], eax
movsx ecx, byte [ebp - 0x96f5]
movsx edx, byte [ebp - 0xeff9]
sub ecx, edx
mov byte [ebp - 0xeb11], cl
movsx eax, word [ebp - 0xe5ec]
movsx ecx, word [0x4dd254]
sub eax, ecx
mov edx, dword [ebp - 0x9a58]
mov word [edx], ax
mov eax, dword [ebp - 0x7fc0]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0xc4e1]
add ecx, edx
mov byte [ebp - 0xd28d], cl
jmp 0x4071b5
mov eax, dword [ebp - 0x3d60]
movzx ecx, word [eax]
push ecx
mov edx, dword [ebp - 0xca5c]
movzx eax, byte [edx]
push eax
call fcn.004022a0
jmp 0x4071f8
lea ecx, [ebp - 0x6e64]
push ecx
mov edx, dword [ebp - 0x8ec]
push edx
mov eax, dword [ebp - 0x9cb0]
push eax
mov ecx, dword [ebp - 0x9458]
push ecx
mov edx, dword [ebp - 0x8ec]
push edx
mov eax, dword [ebp - 0xfd48]
push eax
mov ecx, dword [ebp - 0x2664]
push ecx
push 0xb9
call sub.VERSION.dll_VerInstallFileA
mov dword [ebp - 0xef80], eax
mov edx, dword [ebp - 0x86a4]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x524]
movzx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x3abc]
mov word [ecx], ax
jmp 0x407276
mov edx, dword [ebp - 0x5e34]
mov eax, dword [edx]
mov dword [ebp - 0x10228], eax
cmp dword [ebp - 0x10228], 0xab4c
je 0x407233
jmp 0x407262
mov ecx, dword [ebp - 0x9fa0]
push ecx
mov edx, dword [ebp - 0x431c]
push edx
mov eax, dword [ebp - 0x143c]
push eax
mov ecx, dword [ebp - 0x49bc]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x143c]
push eax
call fcn.00402d00
add esp, 0x14
jmp 0x407276
mov ecx, dword [ebp - 0xcd68]
add ecx, dword [ebp - 0x3e24]
mov edx, dword [ebp - 0x5e34]
mov dword [edx], ecx
mov eax, dword [ebp - 0xb750]
mov dword [ebp - 0xebc], eax
mov ecx, dword [ebp - 0xbfec]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x2604]
add edx, dword [eax]
mov dword [ebp - 0x431c], edx
mov ecx, dword [ebp - 0x9a58]
movsx edx, word [ecx]
mov eax, dword [ebp - 0x8c3c]
movsx ecx, word [eax]
and edx, ecx
movsx eax, word [ebp - 0x5d08]
movsx ecx, word [ebp - 0xa1f4]
or eax, ecx
cmp edx, eax
jl 0x4073a7
mov edx, dword [ebp - 0x30b0]
mov eax, dword [ebp - 0x6158]
mov ecx, dword [edx]
shl eax, cl
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ebp - 0x3e24]
mov ecx, dword [ecx]
shr edx, cl
cmp eax, edx
ja 0x407358
mov eax, dword [ebp - 0x30b0]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0x3e24]
mov dword [ebp - 0xcd68], ecx
mov edx, dword [ebp - 0x9978]
mov eax, dword [ebp - 0x1e98]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0x431c], ecx
lea edx, [ebp - 0xd870]
push edx
call dword [sym.imp.COMDLG32.dll_ChooseFontA]
mov dword [ebp - 0x8320], eax
mov eax, dword [ebp - 0xca5c]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x7fc0]
movzx eax, byte [edx]
sub ecx, eax
mov edx, dword [ebp - 0xc928]
mov byte [edx], cl
movzx eax, word [ebp - 0xf728]
movzx ecx, word [ebp - 0x3d8]
and eax, ecx
mov word [ebp - 0xb694], ax
mov edx, dword [ebp - 0x165c]
mov eax, dword [ebp - 0x143c]
add eax, dword [edx]
mov ecx, dword [ebp - 0x9978]
mov dword [ecx], eax
lea edx, [ebp - 0x3d8]
push edx
lea eax, [ebp - 0xa498]
push eax
mov ecx, dword [ebp - 0xfb0c]
push ecx
lea edx, [ebp - 0x6e64]
push edx
call sub.VERSION.dll_VerQueryValueA
mov dword [ebp - 0x8320], eax
mov eax, dword [ebp - 0xef80]
sub eax, dword [ebp - 0xe74]
mov dword [ebp - 0x2bdc], eax
mov ecx, dword [ebp - 0x3abc]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x86a4]
movzx ecx, word [eax]
add edx, ecx
movzx eax, word [ebp - 0xf728]
mov ecx, dword [ebp - 0x3d60]
movzx ecx, word [ecx]
add eax, ecx
cmp edx, eax
jne 0x40743d
mov dl, byte [ebp - 0xeb11]
mov byte [ebp - 0x1022c], dl
cmp byte [ebp - 0x1022c], 0x78
je 0x4073e8
jmp 0x40743d
mov eax, dword [ebp - 0xbfec]
mov ecx, dword [0x4dd24c]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x1e98]
mov dword [edx], ecx
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x9fa0]
mov dword [ebp - 0xb750], ecx
movzx edx, byte [ebp - 0x1014d]
mov eax, dword [ebp - 0xc928]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [0x4dd248], dl
lea edx, [ebp - 0xd7b0]
push edx
call dword [sym.imp.COMDLG32.dll_FindTextA]
mov dword [ebp - 0xbf24], eax
mov eax, dword [ebp - 0xca5c]
mov cl, byte [eax]
mov byte [ebp - 0x10230], cl
cmp byte [ebp - 0x10230], 0x17
je 0x407456
jmp 0x407475
mov edx, dword [ebp - 0x524]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x3abc]
movzx edx, word [ecx]
add eax, edx
mov ecx, dword [ebp - 0x3d60]
mov word [ecx], ax
jmp 0x4074b5
lea edx, [ebp - 0x5d08]
mov dword [ebp - 0x7f84], edx
lea eax, [ebp - 0x96f5]
mov dword [ebp - 0x9a30], eax
mov ecx, dword [ebp - 0x30b0]
mov edx, dword [ecx]
mov dword [ebp - 0x9d3c], edx
mov eax, dword [ebp - 0x9978]
mov ecx, dword [ebp - 0x49bc]
mov edx, dword [eax]
mov ecx, dword [ecx]
sar edx, cl
mov eax, dword [ebp - 0x1e98]
mov dword [eax], edx
mov dword [ebp - 0xb998], 0x6cec
mov ecx, dword [ebp - 0x3abc]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x7c04]
xor edx, eax
movzx ecx, word [ebp - 0xf728]
mov eax, dword [ebp - 0x524]
movzx eax, word [eax]
or ecx, eax
cmp edx, ecx
jne 0x4d3337
mov ecx, dword [ebp - 0x431c]
mov dword [ebp - 0x6fb8], ecx
mov edx, dword [ebp - 0x165c]
mov eax, dword [ebp - 0x49bc]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x1e98]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0xe74]
mov edx, dword [ebp - 0x5e34]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x1014d]
mov ecx, dword [ebp - 0x7fc0]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0xc928]
mov byte [ecx], al
movzx edx, word [ebp - 0xf728]
movzx eax, word [0x4df380]
add edx, eax
mov ecx, dword [ebp - 0x524]
mov word [ecx], dx
mov edx, dword [ebp - 0x1e98]
mov eax, dword [ebp - 0x6208]
add eax, dword [edx]
mov ecx, dword [ebp - 0x9978]
mov dword [ecx], eax
mov edx, dword [ebp - 0x49bc]
mov eax, dword [ebp - 0xbfec]
mov edx, dword [edx]
mov ecx, dword [eax]
shl edx, cl
mov dword [ebp - 0x6208], edx
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0x3e24]
mov dword [ebp - 0xcd68], ecx
mov edx, dword [ebp - 0x49bc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x143c]
sar eax, cl
mov dword [0x4dd250], eax
mov ecx, dword [ebp - 0x2604]
mov edx, dword [ebp - 0x1e98]
mov eax, dword [ecx]
or eax, dword [edx]
mov dword [ebp - 0x6e64], eax
mov ecx, dword [ebp - 0x7f84]
movsx edx, word [ecx]
mov eax, dword [ebp - 0x8c3c]
movsx ecx, word [eax]
and edx, ecx
mov word [ebp - 0xa1f4], dx
mov edx, dword [ebp - 0x9a30]
movsx eax, byte [edx]
movsx ecx, byte [0x4dd249]
sub eax, ecx
mov byte [ebp - 0x96f5], al
movzx edx, word [ebp - 0xb694]
movzx eax, word [ebp - 0xf728]
add edx, eax
mov ecx, dword [ebp - 0x3d60]
mov word [ecx], dx
mov edx, dword [ebp - 0xc928]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0xdeed]
add eax, ecx
mov byte [ebp - 0xc4e1], al
mov edx, dword [ebp - 0xcd68]
add edx, dword [ebp - 0x6158]
mov dword [ebp - 0xe428], edx
mov eax, dword [ebp - 0x165c]
mov ecx, dword [ebp - 0x9fa0]
and ecx, dword [eax]
mov edx, dword [ebp - 0xbfec]
mov dword [edx], ecx
mov eax, dword [ebp - 0x524]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x3d60]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp - 0xb694], cx
movzx ecx, byte [ebp - 0xdeed]
movzx edx, byte [ebp - 0x2b59]
add ecx, edx
mov byte [0x4dd248], cl
mov eax, dword [ebp - 0x2bdc]
sub eax, dword [ebp - 0x3e24]
mov ecx, dword [ebp - 0x5e34]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1e98]
mov eax, dword [edx]
sub eax, dword [ebp - 0x7b44]
mov ecx, dword [ebp - 0x2604]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4a4]
add edx, 0xee
mov dword [ebp - 0x4a4], edx
mov eax, dword [ebp - 0x49bc]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x6fb8]
mov edx, dword [ebp - 0x9978]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [ebp - 0xe428]
xor ecx, dword [eax]
mov edx, dword [ebp - 0x30b0]
mov dword [edx], ecx
movzx eax, word [ebp - 0xf728]
mov ecx, dword [ebp - 0x3d60]
movzx ecx, word [ecx]
sar eax, cl
mov word [ebp - 0x7c04], ax
movzx edx, byte [ebp - 0xc4e1]
mov eax, dword [ebp - 0x7fc0]
movzx ecx, byte [eax]
shl edx, cl
mov ecx, dword [ebp - 0xca5c]
mov byte [ecx], dl
cmp dword [ebp - 0x4a4], 0x56ec
jbe 0x40750f
mov edx, dword [ebp - 0x7fc0]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xca5c]
movzx edx, byte [ecx]
and eax, edx
mov ecx, dword [ebp - 0xc928]
movzx edx, byte [ecx]
movzx ecx, byte [ebp - 0xdeed]
add edx, ecx
cmp eax, edx
jl 0x4d3299
mov edx, dword [ebp - 0xca5c]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xc928]
movzx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x7fc0]
mov byte [ecx], al
mov edx, dword [ebp - 0x524]
mov ax, word [edx]
mov word [ebp - 0x8c4c], ax
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ecx]
sub edx, dword [ebp - 0xcd68]
mov dword [ebp - 0x6158], edx
lea eax, [ebp - 0xe428]
mov dword [ebp - 0x89bc], eax
mov cl, byte [ebp - 0xc4e1]
mov byte [ebp - 0x10234], cl
cmp byte [ebp - 0x10234], 0
je 0x407812
cmp byte [ebp - 0x10234], 0xa2
je 0x4077ca
jmp 0x4078af
mov edx, dword [ebp - 0x9978]
mov eax, dword [ebp - 0x1e98]
mov ecx, dword [edx]
xor ecx, dword [eax]
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
lea eax, [ebp - 0x2c60]
push eax
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameA]
mov dword [ebp - 0x4784], eax
mov ecx, dword [ebp - 0xbfec]
mov edx, dword [ebp - 0x165c]
mov eax, dword [ecx]
mov ecx, dword [edx]
shl eax, cl
mov dword [ebp - 0xebc], eax
jmp 0x4078af
mov dword [ebp - 0x9fd0], 0x4dd250
mov ecx, dword [ebp - 0x3abc]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x8c4c]
or edx, eax
mov word [ebp - 0xb694], dx
mov ecx, dword [ebp - 0x7f84]
movsx edx, word [ecx]
movsx ecx, word [0x4dd254]
sar edx, cl
mov eax, dword [ebp - 0x8c3c]
movsx ecx, word [eax]
movsx eax, word [ebp - 0xa1f4]
and ecx, eax
cmp edx, ecx
jg 0x4078af
lea ecx, [ebp - 0x1014d]
mov dword [0x4df814], ecx
mov edx, dword [ebp - 0x5e34]
mov eax, dword [edx]
add eax, dword [ebp - 0xcd68]
mov ecx, dword [ebp - 0x5e34]
mov dword [ecx], eax
mov edx, dword [ebp - 0x431c]
mov dword [ebp - 0x3e94], edx
mov eax, dword [ebp - 0x9fd0]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x1e98]
add ecx, dword [edx]
mov dword [ebp - 0x6fb8], ecx
mov eax, dword [ebp - 0x89bc]
mov ecx, dword [eax]
mov dword [ebp - 0xbbe0], ecx
movzx edx, byte [ebp - 0xdeed]
mov eax, dword [ebp - 0x7fc0]
movzx ecx, byte [eax]
add edx, ecx
mov eax, dword [ebp - 0xca5c]
mov byte [eax], dl
movzx ecx, word [ebp - 0xb694]
mov edx, dword [ebp - 0x524]
movzx eax, word [edx]
sub ecx, eax
movzx edx, word [ebp - 0x7c04]
movzx eax, word [0x4de964]
sub edx, eax
cmp ecx, edx
jne 0x407961
mov ecx, dword [ebp - 0x3abc]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x3d60]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x524]
mov word [eax], dx
mov ecx, dword [ebp - 0x9a30]
mov dl, byte [ecx]
mov byte [ebp - 0xd77d], dl
movsx eax, word [ebp - 0xa1f4]
mov ecx, dword [ebp - 0x7f84]
movsx edx, word [ecx]
or eax, edx
mov ecx, dword [ebp - 0x8c3c]
mov word [ecx], ax
mov edx, dword [ebp - 0x143c]
mov dword [ebp - 0x54ac], edx
movzx eax, word [ebp - 0x8c4c]
mov ecx, dword [ebp - 0x524]
movzx ecx, word [ecx]
sar eax, cl
mov edx, dword [ebp - 0x3abc]
mov word [edx], ax
jmp 0x4079fe
mov eax, dword [ebp - 0xca5c]
movzx ecx, byte [eax]
movzx edx, byte [0x4dd248]
xor ecx, edx
mov byte [ebp - 0xd28d], cl
mov eax, dword [ebp - 0x9978]
mov edx, dword [ebp - 0x9fa0]
mov ecx, dword [eax]
shl edx, cl
mov eax, dword [ebp - 0x1e98]
mov dword [eax], edx
mov ecx, dword [ebp - 0xebc]
add ecx, dword [ebp - 0x3e94]
mov edx, dword [ebp - 0x7b44]
and edx, dword [ebp - 0x9dcc]
cmp ecx, edx
jl 0x4079fe
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0xe428]
mov dword [ebp - 0x3e24], ecx
lea edx, [ebp - 0x396c]
push edx
call dword [sym.imp.COMDLG32.dll_FindTextA]
mov dword [ebp - 0x1540], eax
mov eax, dword [ebp - 0xbfec]
mov ecx, dword [eax]
add ecx, dword [0x4dd24c]
mov edx, dword [ebp - 0xbfec]
mov dword [edx], ecx
mov eax, dword [ebp - 0x49bc]
mov ecx, dword [eax]
add ecx, dword [ebp - 0xb750]
mov dword [ebp - 0x54ac], ecx
mov edx, dword [ebp - 0x86a4]
mov ax, word [edx]
mov word [ebp - 0x1ca4], ax
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ebp - 0x9d3c]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x89bc]
mov ecx, dword [ebp - 0xef80]
sub ecx, dword [eax]
cmp edx, ecx
ja 0x4d3286
mov edx, dword [0x4dd250]
add edx, dword [ebp - 0x3e94]
mov eax, dword [ebp - 0x2604]
mov ecx, dword [ebp - 0x49bc]
mov eax, dword [eax]
sub eax, dword [ecx]
cmp edx, eax
jle 0x407a80
mov ecx, dword [ebp - 0x6208]
push ecx
mov edx, dword [ebp - 0x1e98]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
push edx
mov eax, dword [0x4dd250]
push eax
mov ecx, dword [ebp - 0x143c]
push ecx
call fcn.00402d00
add esp, 0x14
lea edx, [ebp - 0x1014d]
mov dword [0x4dfaac], edx
mov eax, dword [ebp - 0x9a58]
movsx edx, word [eax]
movsx eax, word [ebp - 0xa1f4]
and edx, eax
movsx eax, word [ebp - 0xe5ec]
movsx ecx, word [ebp - 0x5d08]
shl eax, cl
cmp edx, eax
jge 0x407b72
mov ecx, dword [ebp - 0x7fc0]
movzx edx, byte [ecx]
movzx eax, byte [0x4dd248]
xor edx, eax
movzx ecx, byte [ebp - 0xdeed]
movzx eax, byte [ebp - 0xc4e1]
sub ecx, eax
cmp edx, ecx
jg 0x407b1b
mov ecx, dword [ebp - 0x89bc]
mov edx, dword [ecx]
add edx, dword [ebp - 0xbbe0]
mov eax, dword [ebp - 0x89bc]
mov dword [eax], edx
lea ecx, [ebp - 0x90bc]
push ecx
call dword [sym.imp.COMDLG32.dll_FindTextA]
mov dword [ebp - 0x1540], eax
mov edx, dword [ebp - 0x9fd0]
mov eax, dword [edx]
sub eax, dword [ebp - 0x143c]
mov dword [ebp - 0xb750], eax
jmp 0x407b70
movsx ecx, byte [ebp - 0xeff9]
mov edx, dword [ebp - 0x9a30]
movsx eax, byte [edx]
sub ecx, eax
movsx edx, byte [ebp - 0xeb11]
movsx eax, byte [ebp - 0xd77d]
and edx, eax
cmp ecx, edx
jne 0x407b70
mov ecx, dword [ebp - 0x54ac]
push ecx
mov edx, dword [ebp - 0x9fa0]
push edx
mov eax, dword [ebp - 0x6e64]
push eax
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0xbfec]
mov ecx, dword [eax]
push ecx
call fcn.00402d00
add esp, 0x14
jmp 0x407bae
mov edx, dword [0x4dd24c]
mov ecx, dword [ebp - 0x9dcc]
sar edx, cl
mov eax, dword [ebp - 0x9978]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x54ac]
cmp edx, ecx
je 0x407bae
mov edx, dword [ebp - 0x9a30]
movzx eax, byte [edx]
push eax
mov dx, word [0x4dd254]
mov ecx, dword [ebp - 0x9fa0]
call fcn.00403500
cmp dword [ebp - 0x9468], 0xdb98
jb 0x407f1d
mov ecx, dword [ebp - 0x2604]
mov edx, dword [ecx]
add edx, dword [ebp - 0xebc]
mov dword [ebp - 0x7b44], edx
mov eax, dword [ebp - 0x49bc]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x6208]
mov edx, dword [ebp - 0x9978]
mov dword [edx], ecx
mov eax, dword [ebp - 0x143c]
add eax, dword [ebp - 0x6fb8]
mov dword [ebp - 0xebc], eax
mov ecx, dword [ebp - 0x8c3c]
movsx edx, word [ecx]
mov eax, dword [ebp - 0x7f84]
movsx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x9a58]
mov word [eax], dx
movsx ecx, byte [0x4dd249]
mov edx, dword [ebp - 0x9a30]
movsx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0xeb11], cl
movzx ecx, byte [ebp - 0xdeed]
mov edx, dword [ebp - 0xca5c]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0xc4e1], cl
movzx ecx, byte [0x4dd248]
mov edx, dword [ebp - 0x7fc0]
movzx eax, byte [edx]
or ecx, eax
mov edx, dword [0x4dfaac]
mov byte [edx], cl
mov eax, dword [ebp - 0x89bc]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xe428]
shr edx, cl
mov dword [ebp - 0xbbe0], edx
mov eax, dword [ebp - 0xe428]
xor eax, dword [ebp - 0x2bdc]
mov ecx, dword [ebp - 0x30b0]
mov dword [ecx], eax
movzx edx, word [ebp - 0xb694]
movzx ecx, word [ebp - 0x3d8]
shl edx, cl
mov eax, dword [ebp - 0x3d60]
mov word [eax], dx
movzx ecx, byte [ebp - 0x2b59]
mov edx, dword [ebp - 0x7fc0]
movzx eax, byte [edx]
and ecx, eax
mov edx, dword [ebp - 0xc928]
mov byte [edx], cl
mov eax, dword [ebp - 0x9978]
mov ecx, dword [ebp - 0x9fd0]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0x6fb8], edx
mov eax, dword [ebp - 0xcd68]
sub eax, dword [ebp - 0x3e24]
mov dword [ebp - 0xe428], eax
mov ecx, dword [ebp - 0x9978]
mov edx, dword [ebp - 0x1e98]
mov eax, dword [ecx]
and eax, dword [edx]
mov dword [ebp - 0x54ac], eax
mov ecx, dword [ebp - 0x6208]
add ecx, dword [ebp - 0x9fa0]
mov dword [ebp - 0x3e94], ecx
movzx edx, word [ebp - 0xb694]
movzx eax, word [ebp - 0x8c4c]
sub edx, eax
mov word [0x4df380], dx
mov ecx, dword [0x4df814]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0xc4e1]
add edx, eax
mov byte [ebp - 0xd28d], dl
mov ecx, dword [ebp - 0x89bc]
mov edx, dword [ebp - 0xbbe0]
add edx, dword [ecx]
mov dword [ebp - 0x2bdc], edx
mov eax, dword [ebp - 0x49bc]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x9978]
add ecx, dword [edx]
mov dword [ebp - 0x7b44], ecx
mov ax, word [ebp - 0x5d08]
mov word [ebp - 0xe5ec], ax
movsx ecx, byte [ebp - 0x6931]
movsx edx, byte [0x4dd249]
or ecx, edx
mov eax, dword [ebp - 0x9a30]
mov byte [eax], cl
mov ecx, dword [ebp - 0xca5c]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x1014d]
xor edx, eax
mov byte [ebp - 0xd28d], dl
movzx edx, word [ebp - 0xb694]
mov eax, dword [ebp - 0x3d60]
movzx ecx, word [eax]
shl edx, cl
mov ecx, dword [ebp - 0x524]
mov word [ecx], dx
mov edx, dword [ebp - 0x5e34]
mov eax, dword [ebp - 0xbbe0]
mov ecx, dword [edx]
shr eax, cl
mov dword [ebp - 0xef80], eax
mov ecx, dword [ebp - 0x1e98]
mov edx, dword [ecx]
and edx, dword [ebp - 0x54ac]
mov dword [0x4dd24c], edx
mov eax, dword [ebp - 0x9fa0]
add eax, dword [ebp - 0x6208]
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5e34]
mov eax, dword [edx]
add eax, dword [ebp - 0x3e24]
mov ecx, dword [ebp - 0x30b0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1e98]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x9fd0]
add eax, dword [ecx]
mov edx, dword [ebp - 0xbfec]
mov dword [edx], eax
mov eax, dword [ebp - 0x524]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x8c4c]
sub ecx, edx
mov eax, dword [ebp - 0x524]
mov word [eax], cx
mov ecx, dword [ebp - 0x9468]
sub ecx, 0x30
mov dword [ebp - 0x9468], ecx
movzx edx, byte [ebp - 0xc4e1]
mov eax, dword [ebp - 0x7fc0]
movzx ecx, byte [eax]
and edx, ecx
mov byte [ebp - 0x2b59], dl
mov edx, dword [ebp - 0x49bc]
mov eax, dword [edx]
sub eax, dword [ebp - 0x6e64]
mov ecx, dword [ebp - 0x49bc]
mov dword [ecx], eax
mov edx, dword [ebp - 0xbbe0]
sub edx, dword [ebp - 0xe428]
mov eax, dword [ebp - 0x5e34]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2604]
mov edx, dword [ebp - 0x431c]
add edx, dword [ecx]
mov dword [ebp - 0xebc], edx
mov eax, dword [ebp - 0xc928]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xca5c]
movzx eax, byte [edx]
sub ecx, eax
mov edx, dword [0x4df814]
mov byte [edx], cl
mov eax, dword [ebp - 0x3abc]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x524]
movzx eax, word [edx]
or ecx, eax
mov word [ebp - 0x3d8], cx
mov ecx, dword [0x4dfaac]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0xdeed]
xor edx, eax
mov ecx, dword [ebp - 0xca5c]
mov byte [ecx], dl
mov edx, dword [ebp - 0x7f84]
movsx eax, word [edx]
mov ecx, dword [ebp - 0x8c3c]
movsx ecx, word [ecx]
sar eax, cl
mov word [ebp - 0xa1f4], ax
jmp 0x407bae
mov edx, dword [ebp - 0x9a30]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0xeb11]
shl eax, cl
mov byte [ebp - 0xd77d], al
mov dword [ebp - 0x4344], 0x5d58
mov ecx, dword [ebp - 0x30b0]
mov edx, dword [ebp - 0x5e34]
mov eax, dword [ecx]
and eax, dword [edx]
mov dword [ebp - 0x2bdc], eax
mov ecx, dword [ebp - 0x6e64]
mov dword [ebp - 0xce84], ecx
mov edx, dword [0x4df4e0]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x7fc0]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0xc928]
mov byte [ecx], al
cmp dword [ebp - 0x5a44], 0x3152
je 0x40836a
mov edx, dword [ebp - 0x3abc]
movzx eax, word [edx]
movzx ecx, word [ebp - 0xf728]
add eax, ecx
mov edx, dword [ebp - 0x3d60]
mov word [edx], ax
movzx eax, byte [ebp - 0x2b59]
mov ecx, dword [ebp - 0x7fc0]
movzx edx, byte [ecx]
sub eax, edx
mov byte [0x4dd248], al
mov eax, dword [ebp - 0x1e98]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x49bc]
add ecx, dword [edx]
mov dword [ebp - 0x9fa0], ecx
mov eax, dword [ebp - 0x1e98]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x6208]
mov dword [ebp - 0x431c], ecx
mov edx, dword [ebp - 0x5e34]
mov eax, dword [ebp - 0xef80]
and eax, dword [edx]
mov ecx, dword [ebp - 0x89bc]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x2b59]
mov eax, dword [ebp - 0x7fc0]
movzx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0xc928]
mov byte [eax], dl
mov ecx, dword [ebp - 0x5a44]
add ecx, 0x26
mov dword [ebp - 0x5a44], ecx
movzx edx, word [ebp - 0x1ca4]
movzx eax, word [ebp - 0xb694]
sub edx, eax
mov ecx, dword [ebp - 0x3abc]
mov word [ecx], dx
mov edx, dword [ebp - 0xbfec]
mov eax, dword [ebp - 0x143c]
add eax, dword [edx]
mov dword [ebp - 0x54ac], eax
mov ecx, dword [ebp - 0xbfec]
mov edx, dword [ebp - 0x9978]
mov eax, dword [ecx]
mov ecx, dword [edx]
sar eax, cl
mov dword [ebp - 0x7b44], eax
mov ecx, dword [ebp - 0x30b0]
mov edx, dword [ecx]
xor edx, dword [ebp - 0xbbe0]
mov dword [ebp - 0xe428], edx
mov eax, dword [ebp - 0x1e98]
mov ecx, dword [ebp - 0x9978]
mov edx, dword [eax]
or edx, dword [ecx]
mov dword [0x4dd24c], edx
mov eax, dword [ebp - 0xbfec]
mov ecx, dword [ebp - 0x1e98]
mov edx, dword [eax]
mov ecx, dword [ecx]
shl edx, cl
mov dword [ebp - 0xb750], edx
movsx eax, byte [ebp - 0x96f5]
movsx ecx, byte [ebp - 0x6931]
and eax, ecx
mov edx, dword [ebp - 0x9a30]
mov byte [edx], al
movsx eax, word [0x4dd254]
mov ecx, dword [ebp - 0x8c3c]
movsx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x7f84]
mov word [ecx], ax
mov edx, dword [ebp - 0xc928]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0xdeed]
add eax, ecx
mov byte [ebp - 0x2b59], al
movzx edx, word [0x4df380]
mov eax, dword [ebp - 0x3d60]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x3d8], dx
mov edx, dword [ebp - 0x5e34]
mov eax, dword [ebp - 0x3e24]
sub eax, dword [edx]
mov dword [ebp - 0x9d3c], eax
mov ecx, dword [ebp - 0x2604]
mov edx, dword [ebp - 0x431c]
add edx, dword [ecx]
mov eax, dword [ebp - 0x9fd0]
mov dword [eax], edx
movzx ecx, byte [ebp - 0xc4e1]
movzx edx, byte [ebp - 0xdeed]
sub ecx, edx
mov eax, dword [ebp - 0xc928]
mov byte [eax], cl
movzx ecx, word [ebp - 0x1ca4]
mov edx, dword [ebp - 0x524]
movzx eax, word [edx]
and ecx, eax
mov word [0x4df380], cx
mov ecx, dword [ebp - 0x30b0]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x5e34]
add edx, dword [eax]
mov ecx, dword [ebp - 0x89bc]
mov dword [ecx], edx
mov edx, dword [ebp - 0x9fd0]
mov eax, dword [edx]
xor eax, dword [ebp - 0x6e64]
mov ecx, dword [ebp - 0xbfec]
mov dword [ecx], eax
mov edx, dword [ebp - 0x9978]
mov eax, dword [ebp - 0xce84]
mov ecx, dword [edx]
shl eax, cl
mov ecx, dword [ebp - 0x49bc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x89bc]
mov eax, dword [ebp - 0x30b0]
mov edx, dword [edx]
mov ecx, dword [eax]
shr edx, cl
mov dword [ebp - 0x9d3c], edx
mov eax, dword [ebp - 0x3d60]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x3abc]
movzx eax, word [edx]
or ecx, eax
mov word [ebp - 0x7c04], cx
mov ecx, dword [0x4df814]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x2b59]
add edx, eax
mov ecx, dword [ebp - 0x7fc0]
mov byte [ecx], dl
mov edx, dword [ebp - 0x9fd0]
mov eax, dword [edx]
and eax, dword [ebp - 0x6e64]
mov ecx, dword [ebp - 0xbfec]
mov dword [ecx], eax
mov edx, dword [0x4dd250]
sub edx, dword [ebp - 0x54ac]
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
movzx ecx, byte [ebp - 0xdeed]
movzx edx, byte [ebp - 0x2b59]
add ecx, edx
mov eax, dword [0x4dfaac]
mov byte [eax], cl
mov ecx, dword [ebp - 0x9a30]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0xeff9]
sub edx, eax
mov ecx, dword [ebp - 0x9a30]
mov byte [ecx], dl
movzx edx, byte [ebp - 0x1014d]
movzx eax, byte [ebp - 0x2b59]
add edx, eax
mov byte [ebp - 0xc4e1], dl
mov ecx, dword [ebp - 0x86a4]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x3d60]
movzx ecx, word [eax]
add edx, ecx
mov word [ebp - 0xb694], dx
mov edx, dword [ebp - 0x30b0]
mov eax, dword [edx]
add eax, dword [ebp - 0xe428]
mov dword [ebp - 0x6158], eax
mov ecx, dword [ebp - 0x89bc]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x6158]
mov dword [ebp - 0x2bdc], edx
mov eax, dword [ebp - 0x1e98]
mov ecx, dword [0x4dd24c]
and ecx, dword [eax]
mov edx, dword [ebp - 0x2604]
mov dword [edx], ecx
mov eax, dword [ebp - 0x9fd0]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x7b44]
sar edx, cl
mov dword [ebp - 0xebc], edx
mov eax, dword [ebp - 0x6fb8]
xor eax, dword [ebp - 0x7b44]
mov dword [ebp - 0x6e64], eax
mov ecx, dword [ebp - 0x3abc]
movzx edx, word [ecx]
movzx ecx, word [ebp - 0x7c04]
shl edx, cl
mov word [ebp - 0x1ca4], dx
movzx eax, byte [ebp - 0xc4e1]
mov ecx, dword [ebp - 0xca5c]
movzx edx, byte [ecx]
or eax, edx
mov byte [0x4dd248], al
mov eax, dword [ebp - 0x89bc]
mov ecx, dword [ebp - 0xe428]
add ecx, dword [eax]
mov dword [ebp - 0x6158], ecx
mov edx, dword [ebp - 0x9fd0]
mov eax, dword [ebp - 0x6fb8]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x1e98]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2604]
mov eax, dword [ebp - 0xbfec]
mov ecx, dword [edx]
and ecx, dword [eax]
mov edx, dword [ebp - 0x9fd0]
mov dword [edx], ecx
jmp 0x407f7d
movsx eax, word [ebp - 0x5d08]
mov ecx, dword [ebp - 0x7f84]
movsx edx, word [ecx]
sub eax, edx
movsx ecx, word [ebp - 0xe5ec]
mov edx, dword [ebp - 0x8c3c]
movsx edx, word [edx]
add ecx, edx
cmp eax, ecx
jne 0x4083d6
mov eax, dword [ebp - 0xbbe0]
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0xca5c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0xc928]
movzx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0x7fc0]
mov byte [eax], dl
movzx ecx, word [ebp - 0x1ca4]
movzx edx, word [0x4df380]
sub ecx, edx
mov word [ebp - 0x3d8], cx
jmp 0x408524
mov eax, dword [ebp - 0xc928]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xca5c]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x7fc0]
movzx eax, byte [edx]
movzx edx, byte [ebp - 0xd28d]
add eax, edx
cmp ecx, eax
je 0x408524
movsx eax, word [ebp - 0x5d08]
mov ecx, dword [ebp - 0x7f84]
movsx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x8c3c]
mov word [ecx], ax
movzx edx, byte [ebp - 0x2b59]
movzx eax, byte [ebp - 0xdeed]
add edx, eax
movzx ecx, byte [0x4dd248]
movzx eax, byte [ebp - 0xc4e1]
xor ecx, eax
cmp edx, ecx
jge 0x4084ec
mov ecx, dword [ebp - 0x9a30]
movsx edx, byte [ecx]
movsx ecx, byte [ebp - 0xeb11]
shl edx, cl
mov byte [ebp - 0xeff9], dl
mov eax, dword [ebp - 0x9fa0]
mov dword [ebp - 0x10238], eax
cmp dword [ebp - 0x10238], 0x715b
je 0x4084ca
cmp dword [ebp - 0x10238], 0x7585
je 0x408485
jmp 0x4084ec
lea ecx, [ebp - 0xf88]
push ecx
call dword [sym.imp.COMDLG32.dll_FindTextA]
mov dword [ebp - 0x65c4], eax
movzx edx, byte [ebp - 0xdeed]
mov eax, dword [ebp - 0xc928]
movzx ecx, byte [eax]
sar edx, cl
mov ecx, dword [0x4df814]
mov byte [ecx], dl
mov edx, dword [ebp - 0x49bc]
mov eax, dword [ebp - 0xbfec]
mov ecx, dword [edx]
or ecx, dword [eax]
mov dword [ebp - 0x6208], ecx
jmp 0x4084ec
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ecx]
push edx
movzx eax, word [ebp - 0xe5ec]
push eax
call fcn.004d3c30
add esp, 0xc
movzx ecx, byte [ebp - 0xc4e1]
mov edx, dword [ebp - 0xca5c]
movzx eax, byte [edx]
and ecx, eax
mov byte [ebp - 0x2b59], cl
mov ecx, dword [ebp - 0x9a30]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0x7f84]
mov dx, word [eax]
mov ecx, dword [ebp - 0x2604]
mov ecx, dword [ecx]
call fcn.00403500
mov edx, dword [ebp - 0xca5c]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0xc4e1]
sub eax, ecx
movzx edx, byte [ebp - 0xdeed]
movzx ecx, byte [ebp - 0x1014d]
add edx, ecx
cmp eax, edx
jg 0x408623
mov edx, dword [ebp - 0x3d60]
mov ax, word [edx]
mov word [ebp - 0xd338], ax
mov ecx, dword [ebp - 0x30b0]
mov edx, dword [ebp - 0x6158]
add edx, dword [ecx]
mov eax, dword [ebp - 0x89bc]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0xcd68]
cmp edx, ecx
jbe 0x4085eb
mov edx, dword [ebp - 0x9dcc]
sub edx, dword [ebp - 0x431c]
mov eax, dword [ebp - 0x49bc]
mov dword [eax], edx
lea ecx, [ebp - 0xf88]
push ecx
call dword [sym.imp.COMDLG32.dll_ReplaceTextA]
mov dword [ebp - 0x65c4], eax
mov edx, dword [ebp - 0x5e34]
mov eax, dword [ebp - 0x3e24]
mov ecx, dword [edx]
shr eax, cl
mov dword [ebp - 0x9d3c], eax
mov ecx, dword [ebp - 0x49bc]
mov edx, dword [ebp - 0x165c]
mov eax, dword [ecx]
mov ecx, dword [edx]
shl eax, cl
mov ecx, dword [ebp - 0x49bc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1e98]
mov eax, dword [ebp - 0x7b44]
xor eax, dword [edx]
mov dword [ebp - 0x143c], eax
jmp 0x408621
mov ecx, dword [ebp - 0xca5c]
movzx edx, byte [ecx]
movzx eax, byte [0x4dd248]
add edx, eax
mov ecx, dword [ebp - 0x7fc0]
movzx eax, byte [ecx]
movzx ecx, byte [ebp - 0xd28d]
sub eax, ecx
cmp edx, eax
jge 0x408621
mov edx, dword [ebp - 0x5e34]
mov eax, dword [edx]
push eax
call fcn.004d3a60
jmp 0x408636
lea ecx, [ebp - 0xa368]
push ecx
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameA]
mov dword [ebp - 0xf3d8], eax
mov dl, byte [ebp - 0xd28d]
mov byte [ebp - 0x1023c], dl
cmp byte [ebp - 0x1023c], 0x78
je 0x40865d
cmp byte [ebp - 0x1023c], 0xd3
je 0x408715
jmp 0x4087ad
mov al, byte [ebp - 0xeff9]
mov byte [ebp - 0x10240], al
cmp byte [ebp - 0x10240], 0x3d
je 0x408674
jmp 0x4086df
mov ecx, dword [ebp - 0x30b0]
mov edx, dword [ecx]
or edx, dword [ebp - 0x2bdc]
mov eax, dword [ebp - 0xe74]
and eax, dword [ebp - 0xbbe0]
cmp edx, eax
je 0x4086ad
movzx ecx, word [ebp - 0x7c04]
mov edx, dword [ebp - 0x86a4]
movzx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x524]
mov word [edx], cx
movzx eax, byte [ebp - 0xd28d]
movzx ecx, byte [ebp - 0x2b59]
sub eax, ecx
mov byte [0x4dd248], al
movzx edx, byte [ebp - 0xeb11]
push edx
mov edx, dword [ebp - 0xe5ec]
mov eax, dword [ebp - 0x9fd0]
mov ecx, dword [eax]
call fcn.00403500
jmp 0x408710
mov ecx, dword [ebp - 0x9a30]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0x3abc]
movzx ecx, word [eax]
push ecx
movzx edx, byte [ebp - 0x6931]
push edx
mov eax, dword [ebp - 0x9a30]
mov dl, byte [eax]
mov ecx, dword [ebp - 0xc928]
mov cl, byte [ecx]
call fcn.00403430
jmp 0x4087ad
mov edx, dword [ebp - 0x2bdc]
sub edx, dword [ebp - 0xbbe0]
mov dword [ebp - 0x8c], edx
mov eax, dword [ebp - 0x1e98]
mov ecx, dword [eax]
mov dword [ebp - 0x10244], ecx
cmp dword [ebp - 0x10244], 0x7c64
je 0x408743
jmp 0x4087a0
lea edx, [ebp - 0x6158]
push edx
mov eax, dword [ebp - 0x9cb0]
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov dword [ebp - 0x9830], eax
mov ecx, dword [ebp - 0x2604]
mov edx, dword [ebp - 0x54ac]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x1e98]
mov dword [eax], edx
mov ecx, dword [ebp - 0x9978]
mov edx, dword [ebp - 0x9fd0]
mov eax, dword [ecx]
and eax, dword [edx]
mov dword [ebp - 0x9fa0], eax
mov ecx, dword [ebp - 0x9978]
mov edx, dword [ebp - 0x431c]
add edx, dword [ecx]
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
jmp 0x4087ad
mov ecx, dword [ebp - 0xbfec]
mov ecx, dword [ecx]
call fcn.004d42f0
mov edx, dword [ebp - 0xbfec]
mov eax, dword [edx]
sub eax, dword [ebp - 0x143c]
mov ecx, dword [ebp - 0x9978]
mov dword [ecx], eax
mov edx, dword [ebp - 0xef80]
mov dword [ebp - 0x10248], edx
cmp dword [ebp - 0x10248], 0
je 0x4087dd
jmp 0x40888b
mov eax, dword [ebp - 0x9a30]
mov cl, byte [eax]
mov byte [ebp - 0xbf91], cl
mov edx, dword [ebp - 0x9a58]
mov ax, word [edx]
mov word [ebp - 0x5d08], ax
movzx ecx, word [ebp - 0xf728]
mov edx, dword [ebp - 0x524]
movzx eax, word [edx]
add ecx, eax
mov word [ebp - 0x1ca4], cx
mov ecx, dword [ebp - 0x7fc0]
movzx edx, byte [ecx]
mov eax, dword [0x4df4e0]
movzx ecx, byte [eax]
add edx, ecx
mov eax, dword [0x4dfaac]
mov byte [eax], dl
movsx ecx, word [ebp - 0xe5ec]
mov dword [ebp - 0x1024c], ecx
cmp dword [ebp - 0x1024c], 0x4de
je 0x408849
jmp 0x408886
lea edx, [ebp - 0x9fa0]
push edx
mov eax, dword [ebp - 0x2664]
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov dword [ebp - 0xef80], eax
mov ecx, dword [ebp - 0x30b0]
mov edx, dword [ecx]
mov dword [ebp - 0x9830], edx
mov eax, dword [ebp - 0x30b0]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0xcd68]
mov edx, dword [ebp - 0x30b0]
mov dword [edx], ecx
jmp 0x408942
mov eax, dword [ebp - 0x9a30]
movsx edx, byte [eax]
movsx ecx, byte [ebp - 0x96f5]
sar edx, cl
movsx eax, byte [ebp - 0xeb11]
movsx ecx, byte [ebp - 0x6931]
or eax, ecx
cmp edx, eax
jle 0x408930
mov edx, dword [0x4dfaac]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x2b59]
add eax, ecx
mov byte [ebp - 0xdeed], al
movzx edx, word [ebp - 0xf728]
movzx eax, word [ebp - 0xb694]
sub edx, eax
mov word [ebp - 0xd338], dx
mov ecx, dword [ebp - 0xca5c]
mov dl, byte [ecx]
mov byte [ebp - 0x10250], dl
cmp byte [ebp - 0x10250], 0x9c
je 0x4088f9
jmp 0x408918
push 0x23
mov eax, dword [ebp - 0xca0c]
push eax
mov ecx, dword [ebp - 0xae54]
push ecx
call dword [sym.imp.COMDLG32.dll_GetFileTitleA]
mov word [ebp - 0xe070], ax
jmp 0x40892e
mov edx, dword [ebp - 0x9978]
mov eax, dword [edx]
sub eax, dword [ebp - 0x7b44]
mov ecx, dword [ebp - 0x9fd0]
mov dword [ecx], eax
jmp 0x408942
mov edx, dword [ebp - 0xe74]
add edx, dword [ebp - 0x9d3c]
mov dword [ebp - 0x3e24], edx
mov dword [ebp - 0x15e8], 0x4dd24c
mov eax, dword [ebp - 0x3d60]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x86a4]
movzx eax, word [edx]
sub ecx, eax
movzx edx, word [ebp - 0x1ca4]
mov eax, dword [ebp - 0x3abc]
movzx eax, word [eax]
and edx, eax
cmp ecx, edx
jge 0x40898e
lea ecx, [ebp - 0x2c60]
push ecx
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameA]
mov dword [ebp - 0xeba0], eax
jmp 0x4d3243
movzx edx, word [ebp - 0x8c4c]
mov eax, dword [ebp - 0x524]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x3abc]
movzx ecx, word [eax]
movzx eax, word [ebp - 0xf728]
add ecx, eax
cmp edx, ecx
jg 0x4d3243
mov ecx, dword [ebp - 0xca5c]
mov dl, byte [ecx]
mov byte [0x4def53], dl
mov eax, dword [ebp - 0x3abc]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x7c04]
or ecx, edx
mov word [ebp - 0xb694], cx
mov eax, dword [ebp - 0x9830]
mov dword [ebp - 0x10254], eax
cmp dword [ebp - 0x10254], 0xf068
je 0x4089fb
jmp 0x408a30
movsx ecx, word [ebp - 0xe070]
movsx edx, word [ebp - 0x5d08]
and ecx, edx
mov eax, dword [ebp - 0x9a58]
mov word [eax], cx
movzx ecx, word [0x4de964]
movzx edx, word [ebp - 0xd338]
add ecx, edx
mov word [ebp - 0x8c4c], cx
jmp 0x4d3181
lea eax, [ebp - 0xc4e1]
mov dword [ebp - 0xc420], eax
mov ecx, dword [ebp - 0x89bc]
mov edx, dword [ebp - 0xe74]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x5e34]
mov dword [eax], edx
mov ecx, dword [0x4dd24c]
mov dword [ebp - 0x10258], ecx
cmp dword [ebp - 0x10258], 0
je 0x408a75
cmp dword [ebp - 0x10258], 0x47fd
je 0x408aac
jmp 0x408ad7
movsx edx, byte [ebp - 0xbf91]
movsx eax, byte [ebp - 0xeb11]
add edx, eax
movsx ecx, byte [ebp - 0xd77d]
movsx eax, byte [0x4dd249]
add ecx, eax
cmp edx, ecx
jl 0x408aaa
mov ecx, dword [ebp - 0x9978]
mov edx, dword [ecx]
push edx
call fcn.00402350
add esp, 4
jmp 0x408ad7
movzx eax, byte [ebp - 0xd28d]
movzx ecx, byte [ebp - 0xdeed]
sub eax, ecx
mov edx, dword [0x4dfaac]
mov byte [edx], al
lea eax, [ebp - 0x6690]
push eax
call dword [sym.imp.COMDLG32.dll_PrintDlgExA]
mov dword [ebp - 0x1005c], eax
mov ecx, dword [ebp - 0x431c]
sub ecx, dword [0x4dd250]
mov dword [ebp - 0x54ac], ecx
lea edx, [ebp - 0xe74]
mov dword [ebp - 0xab68], edx
mov eax, dword [ebp - 0x54ac]
and eax, dword [ebp - 0x6e64]
mov ecx, dword [ebp - 0x9fd0]
mov dword [ecx], eax
movzx edx, byte [ebp - 0xdeed]
mov eax, dword [ebp - 0x7fc0]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp - 0x2b59], dl
mov edx, dword [ebp - 0x3d60]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x524]
movzx ecx, word [ecx]
sar eax, cl
mov word [ebp - 0x7c04], ax
mov edx, dword [ebp - 0x165c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xb750]
shl eax, cl
mov ecx, dword [ebp - 0x1e98]
mov dword [ecx], eax
mov edx, dword [ebp - 0x89bc]
mov eax, dword [edx]
xor eax, dword [ebp - 0xe74]
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0xce84]
or ecx, dword [ebp - 0x7b44]
mov dword [ebp - 0x9fa0], ecx
mov edx, dword [ebp - 0xbfec]
mov eax, dword [ebp - 0xb750]
sub eax, dword [edx]
mov dword [0x4dd250], eax
mov ecx, dword [ebp - 0xc420]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x1014d]
and edx, eax
mov byte [ebp - 0x2b59], dl
movzx ecx, word [ebp - 0xd338]
movzx edx, word [ebp - 0x3d8]
add ecx, edx
mov eax, dword [ebp - 0x3d60]
mov word [eax], cx
mov ecx, dword [ebp - 0xb998]
add ecx, 0x12
mov dword [ebp - 0xb998], ecx
mov edx, dword [ebp - 0x9a58]
movsx eax, word [edx]
movsx ecx, word [ebp - 0xe070]
sub eax, ecx
mov edx, dword [ebp - 0x7f84]
mov word [edx], ax
mov eax, dword [ebp - 0x9a30]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0xbf91]
add ecx, edx
mov byte [ebp - 0xeff9], cl
mov eax, dword [ebp - 0xab68]
mov ecx, dword [ebp - 0x6158]
add ecx, dword [eax]
mov dword [ebp - 0xef80], ecx
mov edx, dword [ebp - 0x9fa0]
sub edx, dword [ebp - 0x6fb8]
mov eax, dword [ebp - 0x15e8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x7fc0]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0xc4e1]
sub edx, eax
mov ecx, dword [ebp - 0xc928]
mov byte [ecx], dl
movzx edx, word [ebp - 0xb694]
mov eax, dword [ebp - 0x524]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x3d60]
mov word [eax], dx
mov ecx, dword [ebp - 0xc420]
movzx edx, byte [ecx]
movzx eax, byte [0x4def53]
and edx, eax
mov ecx, dword [0x4dfaac]
mov byte [ecx], dl
mov edx, dword [ebp - 0x15e8]
mov eax, dword [ebp - 0x7b44]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x165c]
mov eax, dword [ebp - 0x54ac]
mov ecx, dword [edx]
sar eax, cl
mov ecx, dword [ebp - 0x9978]
mov dword [ecx], eax
mov edx, dword [ebp - 0xbbe0]
mov ecx, dword [ebp - 0xcd68]
shl edx, cl
mov eax, dword [ebp - 0x5e34]
mov dword [eax], edx
mov ecx, dword [ebp - 0xca5c]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0xdeed]
or edx, eax
mov byte [ebp - 0xd28d], dl
mov ecx, dword [ebp - 0x3d60]
movzx edx, word [ecx]
movzx eax, word [0x4de964]
add edx, eax
mov ecx, dword [ebp - 0x3d60]
mov word [ecx], dx
mov edx, dword [ebp - 0x6e64]
sub edx, dword [ebp - 0xb750]
mov dword [ebp - 0x54ac], edx
mov eax, dword [ebp - 0xbfec]
mov ecx, dword [ebp - 0x6fb8]
and ecx, dword [eax]
mov dword [ebp - 0x6208], ecx
mov edx, dword [ebp - 0x3e24]
sub edx, dword [ebp - 0xe428]
mov eax, dword [ebp - 0xab68]
mov dword [eax], edx
mov ecx, dword [ebp - 0xca5c]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x2b59]
add edx, eax
mov ecx, dword [0x4dfaac]
mov byte [ecx], dl
mov edx, dword [0x4dd250]
add edx, dword [ebp - 0x6fb8]
mov dword [ebp - 0xce84], edx
cmp dword [ebp - 0xb998], 0x6f74
jb 0x408b09
lea eax, [ebp - 0xe5ec]
mov dword [ebp - 0xcfbc], eax
mov ecx, dword [ebp - 0x9a30]
movsx edx, byte [ecx]
movsx eax, byte [0x4dd249]
add edx, eax
mov byte [ebp - 0xeff9], dl
mov ecx, dword [ebp - 0x7f84]
movsx edx, word [ecx]
mov dword [ebp - 0x1025c], edx
cmp dword [ebp - 0x1025c], 0
je 0x408e7c
cmp dword [ebp - 0x1025c], 0x326
je 0x408db5
jmp 0x4d30d9
mov eax, dword [ebp - 0xcfbc]
movsx ecx, word [eax]
mov dword [ebp - 0x10260], ecx
cmp dword [ebp - 0x10260], 0x364
je 0x408de1
cmp dword [ebp - 0x10260], 0x6e5
je 0x408e59
jmp 0x408e77
lea edx, [ebp - 0xa498]
push edx
call dword [sym.imp.COMDLG32.dll_PageSetupDlgA]
mov dword [ebp - 0xf3d8], eax
movzx eax, word [ebp - 0x7c04]
movzx ecx, word [ebp - 0x3d8]
and eax, ecx
mov edx, dword [ebp - 0x3d60]
mov word [edx], ax
mov eax, dword [ebp - 0xc420]
movzx ecx, byte [eax]
movzx edx, byte [0x4dd248]
sub ecx, edx
mov byte [0x4def53], cl
mov eax, dword [ebp - 0xab68]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0xc928]
movzx eax, byte [edx]
push eax
mov ecx, dword [ebp - 0x3e24]
push ecx
movzx edx, word [ebp - 0xa1f4]
push edx
movzx eax, word [ebp - 0xa1f4]
push eax
call fcn.004d3a90
add esp, 0x14
jmp 0x408e77
mov ecx, dword [ebp - 0x9a30]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0x8c3c]
mov dx, word [eax]
mov ecx, dword [ebp - 0x7b44]
call fcn.00403500
jmp 0x4d30d9
mov ecx, dword [ebp - 0xe74]
mov dword [ebp - 0xe94], ecx
mov edx, dword [ebp - 0x1e98]
mov eax, dword [edx]
sub eax, dword [ebp - 0x9fa0]
mov ecx, dword [ebp - 0xbfec]
mov edx, dword [ebp - 0x9dcc]
and edx, dword [ecx]
cmp eax, edx
jle 0x408ede
mov eax, dword [0x4dd24c]
add eax, dword [ebp - 0x6e64]
mov ecx, dword [ebp - 0x2604]
mov dword [ecx], eax
lea edx, [ebp - 0xb694]
push edx
push 0x96
push 0x95
mov eax, dword [ebp - 0x78b0]
push eax
call sub.VERSION.dll_GetFileVersionInfoA
mov dword [ebp - 0x8320], eax
mov ecx, dword [ebp - 0x89bc]
mov edx, dword [ecx]
mov dword [ebp - 0x10264], edx
cmp dword [ebp - 0x10264], 0
je 0x408f0a
cmp dword [ebp - 0x10264], 0xac79
je 0x408fb7
jmp 0x408fd2
mov eax, dword [ebp - 0x49bc]
mov ecx, dword [ebp - 0x431c]
add ecx, dword [eax]
mov dword [ebp - 0x9fa0], ecx
mov edx, dword [ebp - 0x6158]
mov dword [ebp - 0x9830], edx
mov eax, dword [ebp - 0xcfbc]
movsx ecx, word [eax]
movsx edx, word [ebp - 0xe070]
add ecx, edx
mov eax, dword [ebp - 0x9a58]
movsx edx, word [eax]
mov eax, dword [ebp - 0x7f84]
movsx eax, word [eax]
sub edx, eax
cmp ecx, edx
jg 0x408f9d
lea ecx, [ebp - 0x1014d]
mov dword [ebp - 0x21f4], ecx
mov edx, dword [ebp - 0x3abc]
movzx eax, word [edx]
movzx ecx, word [ebp - 0xd338]
xor eax, ecx
mov word [ebp - 0x7c04], ax
lea edx, [ebp - 0x143c]
mov dword [ebp - 0xf638], edx
mov eax, dword [ebp - 0x49bc]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x6208]
shl edx, cl
mov dword [ebp - 0x6e64], edx
jmp 0x408fb5
mov eax, dword [ebp - 0x9a30]
movsx edx, byte [eax]
movsx ecx, byte [ebp - 0xbf91]
sar edx, cl
mov byte [0x4dd249], dl
jmp 0x408fd2
mov eax, dword [ebp - 0x7f84]
movsx ecx, word [eax]
movsx edx, word [0x4dd254]
and ecx, edx
mov eax, dword [ebp - 0x8c3c]
mov word [eax], cx
movsx ecx, word [ebp - 0xa1f4]
mov dword [ebp - 0x10268], ecx
cmp dword [ebp - 0x10268], 0x4e
je 0x408fed
jmp 0x409097
mov edx, dword [ebp - 0x21f4]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x2b59]
add eax, ecx
mov edx, dword [ebp - 0xca5c]
movzx ecx, byte [edx]
mov edx, dword [ebp - 0xc928]
movzx edx, byte [edx]
add ecx, edx
cmp eax, ecx
jg 0x40907e
movzx eax, word [ebp - 0x7c04]
movzx ecx, word [ebp - 0x8c4c]
and eax, ecx
mov word [ebp - 0xd338], ax
lea edx, [ebp - 0x396c]
push edx
call dword [sym.imp.COMDLG32.dll_ReplaceTextA]
mov dword [ebp - 0xbf24], eax
movzx eax, byte [ebp - 0x1014d]
mov ecx, dword [ebp - 0xc420]
movzx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x21f4]
mov byte [ecx], al
mov edx, dword [ebp - 0xe94]
sub edx, dword [ebp - 0xbbe0]
mov dword [ebp - 0xe428], edx
mov eax, dword [ebp - 0x7b44]
push eax
call fcn.00402350
add esp, 4
jmp 0x409092
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x9830]
mov dword [ebp - 0xe94], edx
jmp 0x4091be
mov eax, dword [ebp - 0xbfec]
mov ecx, dword [ebp - 0x54ac]
add ecx, dword [eax]
mov edx, dword [ebp - 0x49bc]
mov dword [edx], ecx
mov eax, dword [ebp - 0x6208]
mov dword [ebp - 0x7b98], eax
mov edx, dword [ebp - 0x7b44]
xor edx, dword [ebp - 0x54ac]
mov eax, dword [ebp - 0x49bc]
mov esi, dword [ebp - 0x6208]
mov ecx, dword [eax]
shl esi, cl
cmp edx, esi
je 0x409183
mov ecx, dword [ebp - 0x9978]
mov edx, dword [ecx]
and edx, dword [ebp - 0x9dcc]
mov eax, dword [ebp - 0x9fd0]
mov dword [eax], edx
lea ecx, [ebp - 0x5d08]
push ecx
push 0xee
push 0x90
mov edx, dword [ebp - 0x9458]
push edx
call sub.VERSION.dll_GetFileVersionInfoA
mov dword [ebp - 0xf0d0], eax
mov eax, dword [ebp - 0x86a4]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x3abc]
movzx eax, word [edx]
add ecx, eax
mov word [ebp - 0x1ca4], cx
mov ecx, dword [ebp - 0xca5c]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0xdeed]
add edx, eax
mov ecx, dword [0x4df4e0]
mov byte [ecx], dl
mov edx, dword [ebp - 0xab68]
mov eax, dword [edx]
add eax, dword [ebp - 0xcd68]
mov dword [ebp - 0xef80], eax
mov ecx, dword [ebp - 0x9978]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x8c]
push eax
mov ecx, dword [ebp - 0xcfbc]
movzx edx, word [ecx]
push edx
call fcn.004d3c30
add esp, 0xc
jmp 0x4091be
movzx eax, byte [ebp - 0xc4e1]
movzx ecx, byte [ebp - 0xd28d]
sar eax, cl
mov ecx, dword [0x4dfaac]
movzx edx, byte [ecx]
mov ecx, dword [ebp - 0x7fc0]
movzx ecx, byte [ecx]
or edx, ecx
cmp eax, edx
jle 0x4091be
lea edx, [ebp - 0xe068]
push edx
call dword [sym.imp.COMDLG32.dll_PrintDlgExA]
mov dword [ebp - 0x7e4], eax
mov eax, dword [ebp - 0xf638]
mov ecx, dword [ebp - 0x165c]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0xbfec]
mov dword [eax], edx
lea ecx, [ebp - 0x6208]
mov dword [ebp - 0xc72c], ecx
mov edx, dword [ebp - 0xef80]
mov dword [ebp - 0x1026c], edx
cmp dword [ebp - 0x1026c], 0
je 0x4091fc
jmp 0x409297
mov eax, dword [ebp - 0x9a30]
mov cl, byte [eax]
mov byte [ebp - 0x10270], cl
cmp byte [ebp - 0x10270], 0xc0
je 0x40921e
cmp byte [ebp - 0x10270], 0x4a
je 0x409266
jmp 0x409295
mov edx, dword [ebp - 0xe94]
sub edx, dword [ebp - 0x8c]
mov dword [ebp - 0xe74], edx
mov eax, dword [ebp - 0xc928]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0xd28d]
and ecx, edx
mov byte [ebp - 0x2b59], cl
mov eax, dword [ebp - 0x3d60]
mov cx, word [eax]
mov word [ebp - 0x6444], cx
lea edx, [ebp - 0xd77d]
mov dword [ebp - 0x93b8], edx
jmp 0x409295
mov eax, dword [ebp - 0x6208]
push eax
mov ecx, dword [ebp - 0x6e64]
push ecx
mov edx, dword [ebp - 0x9978]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x7b98]
push ecx
mov edx, dword [ebp - 0x49bc]
mov eax, dword [edx]
push eax
call fcn.00402d00
add esp, 0x14
jmp 0x4092ce
mov ecx, dword [ebp - 0x7f84]
movsx edx, word [ecx]
mov eax, dword [ebp - 0x8c3c]
movsx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x9a58]
mov word [eax], dx
mov ecx, dword [ebp - 0x9a30]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x93b8]
movsx ecx, byte [eax]
sub edx, ecx
mov byte [0x4dd249], dl
mov edx, dword [ebp - 0xb750]
sub edx, dword [ebp - 0x54ac]
mov eax, dword [ebp - 0x2604]
mov dword [eax], edx
movzx ecx, word [ebp - 0x3d8]
mov edx, dword [ebp - 0x3d60]
movzx eax, word [edx]
or ecx, eax
mov word [ebp - 0x7c04], cx
movzx edx, byte [ebp - 0x1014d]
movzx ecx, byte [ebp - 0x2b59]
shl edx, cl
mov eax, dword [ebp - 0xc420]
mov byte [eax], dl
mov ecx, dword [ebp - 0xc72c]
mov edx, dword [0x4dd250]
xor edx, dword [ecx]
mov dword [ebp - 0x6208], edx
mov eax, dword [ebp - 0x5e34]
mov edx, dword [ebp - 0xcd68]
mov ecx, dword [eax]
shr edx, cl
mov dword [ebp - 0xe428], edx
mov eax, dword [ebp - 0x6e64]
and eax, dword [ebp - 0x6208]
mov dword [ebp - 0x431c], eax
mov ecx, dword [ebp - 0x9fd0]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xbfec]
add edx, dword [eax]
mov dword [ebp - 0x7b98], edx
movzx ecx, byte [ebp - 0xd28d]
movzx edx, byte [ebp - 0x1014d]
sub ecx, edx
mov eax, dword [ebp - 0xc928]
mov byte [eax], cl
movzx ecx, byte [ebp - 0x1014d]
movzx edx, byte [ebp - 0xc4e1]
add ecx, edx
mov eax, dword [0x4df814]
mov byte [eax], cl
mov ecx, dword [ebp - 0xab68]
mov edx, dword [ebp - 0x2bdc]
sub edx, dword [ecx]
mov dword [ebp - 0xe94], edx
mov eax, dword [ebp - 0x15e8]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x431c]
mov dword [ebp - 0x9fa0], ecx
mov edx, dword [ebp - 0x9978]
mov eax, dword [edx]
sub eax, dword [ebp - 0x9dcc]
mov dword [ebp - 0xb750], eax
mov ecx, dword [ebp - 0x9fa0]
and ecx, dword [0x4dd24c]
mov dword [ebp - 0x143c], ecx
mov edx, dword [ebp - 0xc72c]
mov eax, dword [ebp - 0xb750]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x9978]
mov dword [ecx], eax
mov edx, dword [ebp - 0x9a58]
movsx eax, word [edx]
movsx ecx, word [ebp - 0xe5ec]
sar eax, cl
mov word [ebp - 0xa1f4], ax
mov ecx, dword [ebp - 0xb42c]
add ecx, 0x22
mov dword [ebp - 0xb42c], ecx
movsx edx, byte [ebp - 0xd77d]
movsx eax, byte [ebp - 0xeb11]
xor edx, eax
mov byte [ebp - 0xbf91], dl
mov ecx, dword [ebp - 0xc420]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0xc4e1]
or edx, eax
mov byte [ebp - 0xd28d], dl
movzx edx, word [0x4df380]
movzx ecx, word [ebp - 0xd338]
shl edx, cl
mov word [0x4de964], dx
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0xef80]
mov edx, dword [ebp - 0x30b0]
mov dword [edx], ecx
mov eax, dword [ebp - 0xbbe0]
and eax, dword [ebp - 0xe428]
mov dword [ebp - 0x8c], eax
movzx ecx, word [ebp - 0x3d8]
movzx edx, word [ebp - 0xf728]
sub ecx, edx
mov eax, dword [ebp - 0x524]
mov word [eax], cx
mov ecx, dword [ebp - 0x21f4]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0xc4e1]
add edx, eax
mov ecx, dword [ebp - 0xc420]
mov byte [ecx], dl
mov edx, dword [ebp - 0x9978]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x1e98]
add eax, dword [ecx]
mov dword [ebp - 0xb750], eax
mov edx, dword [ebp - 0x5e34]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x89bc]
add eax, dword [ecx]
mov dword [ebp - 0x9830], eax
mov edx, dword [ebp - 0xc72c]
mov eax, dword [edx]
add eax, dword [ebp - 0x143c]
mov ecx, dword [ebp - 0x1e98]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2604]
mov eax, dword [ebp - 0x3e94]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x9978]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3d60]
movzx eax, word [edx]
movzx ecx, word [0x4df380]
sub eax, ecx
mov word [0x4de964], ax
movzx edx, byte [ebp - 0xdeed]
movzx eax, byte [ebp - 0xd28d]
and edx, eax
mov byte [ebp - 0x2b59], dl
mov ecx, dword [ebp - 0x89bc]
mov edx, dword [ecx]
or edx, dword [ebp - 0x3e24]
mov dword [ebp - 0xe74], edx
mov eax, dword [ebp - 0xc72c]
mov ecx, dword [0x4dd250]
xor ecx, dword [eax]
mov dword [ebp - 0x7b98], ecx
mov edx, dword [ebp - 0x9a58]
movsx eax, word [edx]
mov ecx, dword [ebp - 0xcfbc]
movsx ecx, word [ecx]
sar eax, cl
mov edx, dword [ebp - 0x9a58]
mov word [edx], ax
movsx eax, byte [ebp - 0xd77d]
movsx ecx, byte [0x4dd249]
shl eax, cl
mov ecx, dword [ebp - 0x9a30]
mov byte [ecx], al
movzx edx, byte [ebp - 0x2b59]
mov eax, dword [ebp - 0x21f4]
movzx ecx, byte [eax]
add edx, ecx
mov eax, dword [ebp - 0xc420]
mov byte [eax], dl
movzx ecx, word [ebp - 0x8c4c]
movzx edx, word [ebp - 0x3d8]
add ecx, edx
mov word [ebp - 0xf728], cx
cmp dword [ebp - 0xb42c], 0xdabb
jb 0x4092ce
mov eax, dword [ebp - 0xe94]
and eax, dword [ebp - 0xbbe0]
mov dword [ebp - 0x6158], eax
mov ecx, dword [ebp - 0x30b0]
mov edx, dword [ecx]
add edx, dword [ebp - 0xef80]
mov eax, dword [ebp - 0x89bc]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xab68]
add ecx, dword [eax]
cmp edx, ecx
jne 0x4096ac
mov ecx, dword [ebp - 0x2604]
mov edx, dword [ebp - 0x9fa0]
sub edx, dword [ecx]
mov dword [0x4dd258], edx
mov eax, dword [ebp - 0x93b8]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x9a30]
movsx eax, byte [edx]
add ecx, eax
movsx edx, byte [ebp - 0x96f5]
movsx eax, byte [ebp - 0xeb11]
sub edx, eax
cmp ecx, edx
jne 0x409671
mov ecx, dword [ebp - 0x3abc]
movzx edx, word [ecx]
push edx
movzx eax, byte [ebp - 0xc4e1]
push eax
call fcn.004022a0
jmp 0x4096a7
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ebp - 0xab68]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x89bc]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x3e24]
cmp eax, edx
je 0x4096a7
mov eax, dword [ebp - 0x9dcc]
mov ecx, dword [ebp - 0x7b98]
shl eax, cl
mov dword [ebp - 0x3e94], eax
jmp 0x409788
lea ecx, [ebp - 0xa498]
push ecx
call dword [sym.imp.COMDLG32.dll_PageSetupDlgA]
mov dword [ebp - 0xfa8], eax
mov edx, dword [ebp - 0x3abc]
movzx eax, word [edx]
mov dword [ebp - 0x10274], eax
cmp dword [ebp - 0x10274], 0xb7b
je 0x4096ef
cmp dword [ebp - 0x10274], 0xd52
je 0x409775
jmp 0x409788
mov ecx, dword [ebp - 0x6158]
or ecx, dword [ebp - 0xbbe0]
mov edx, dword [ebp - 0xab68]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2604]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x431c]
sar edx, cl
mov dword [ebp - 0x6208], edx
movzx eax, word [ebp - 0x1ca4]
mov ecx, dword [ebp - 0x524]
movzx edx, word [ecx]
and eax, edx
mov ecx, dword [ebp - 0x3d60]
mov word [ecx], ax
lea edx, [ebp - 0x1540]
push edx
lea eax, [ebp - 0x3dcc]
push eax
mov ecx, dword [ebp - 0x8ec]
push ecx
lea edx, [ebp - 0x9a30]
push edx
call sub.VERSION.dll_VerQueryValueA
mov dword [ebp - 0x1c84], eax
mov eax, dword [ebp - 0x21f4]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x1014d]
add ecx, edx
mov byte [ebp - 0x2b59], cl
jmp 0x409788
mov eax, dword [0x4dd24c]
sub eax, dword [ebp - 0x7b98]
mov ecx, dword [ebp - 0x1e98]
mov dword [ecx], eax
lea edx, [ebp - 0x8c]
mov dword [ebp - 0xf1dc], edx
movzx eax, word [ebp - 0x6444]
movzx ecx, word [ebp - 0xd338]
and eax, ecx
mov edx, dword [ebp - 0x3d60]
movzx ecx, word [edx]
movzx edx, word [ebp - 0x3d8]
sub ecx, edx
cmp eax, ecx
jle 0x4097ce
mov eax, dword [ebp - 0xbfec]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x431c]
mov dword [ebp - 0x9dcc], ecx
mov edx, dword [ebp - 0xf1dc]
mov eax, dword [edx]
add eax, dword [ebp - 0xe94]
mov ecx, dword [ebp - 0x30b0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x5e34]
add edx, dword [ecx]
cmp eax, edx
jb 0x40984c
mov edx, dword [ebp - 0x9978]
mov eax, dword [ebp - 0x431c]
mov ecx, dword [edx]
sar eax, cl
mov dword [0x4dd25c], eax
movzx ecx, word [ebp - 0x8c4c]
movzx edx, word [ebp - 0xd338]
xor ecx, edx
mov eax, dword [ebp - 0x3d60]
mov word [eax], cx
movzx edx, byte [ebp - 0x1014d]
movzx ecx, byte [ebp - 0xc4e1]
shl edx, cl
mov byte [ebp - 0xd28d], dl
lea eax, [ebp - 0xa1f4]
mov dword [ebp - 0x2210], eax
mov dword [ebp - 0x2a70], 0xd6d9
jmp 0x4098a6
movsx ecx, word [ebp - 0xa1f4]
mov edx, dword [ebp - 0x9a58]
movsx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x8c3c]
movsx eax, word [edx]
mov edx, dword [ebp - 0x7f84]
movsx edx, word [edx]
or eax, edx
cmp ecx, eax
je 0x4098a6
mov eax, dword [0x4dd250]
push eax
mov ecx, dword [ebp - 0x2604]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x9fd0]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0xb750]
push edx
mov eax, dword [ebp - 0x9978]
mov ecx, dword [eax]
push ecx
call fcn.00402d00
add esp, 0x14
lea edx, [ebp - 0xeff9]
mov dword [ebp - 0x98f0], edx
mov eax, dword [ebp - 0x8c]
and eax, dword [ebp - 0x3e24]
mov ecx, dword [ebp - 0x30b0]
mov dword [ecx], eax
mov edx, dword [ebp - 0xf638]
mov eax, dword [edx]
mov dword [ebp - 0x90e8], eax
mov ecx, dword [0x4dfaac]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x1014d]
sub edx, eax
mov byte [ebp - 0x2b59], dl
mov ecx, dword [ebp - 0x86a4]
mov dx, word [ecx]
mov word [ebp - 0xefa4], dx
mov eax, dword [ebp - 0x9fd0]
mov ecx, dword [ebp - 0x7b44]
sub ecx, dword [eax]
mov edx, dword [ebp - 0xc72c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2604]
mov ecx, dword [ebp - 0x90e8]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x1e98]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2a70]
add eax, 0xdd
mov dword [ebp - 0x2a70], eax
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ebp - 0x9830]
add edx, dword [ecx]
mov eax, dword [ebp - 0x30b0]
mov dword [eax], edx
movzx ecx, word [ebp - 0xb694]
mov edx, dword [ebp - 0x3abc]
movzx eax, word [edx]
and ecx, eax
mov word [ebp - 0xf728], cx
movzx ecx, byte [ebp - 0xc4e1]
movzx edx, byte [ebp - 0x1014d]
sub ecx, edx
mov eax, dword [ebp - 0x7fc0]
mov byte [eax], cl
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ebp - 0x9dcc]
add edx, dword [ecx]
mov dword [ebp - 0x54ac], edx
mov eax, dword [ebp - 0xf638]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x9978]
add ecx, dword [edx]
mov dword [ebp - 0x3e94], ecx
mov eax, dword [ebp - 0x30b0]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x89bc]
add ecx, dword [edx]
mov eax, dword [ebp - 0x30b0]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xf638]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3e94]
shl edx, cl
mov dword [0x4dd25c], edx
mov eax, dword [ebp - 0xc72c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x90e8]
sar edx, cl
mov dword [ebp - 0x54ac], edx
movsx eax, byte [ebp - 0xd77d]
mov ecx, dword [ebp - 0x93b8]
movsx edx, byte [ecx]
xor eax, edx
mov ecx, dword [ebp - 0x98f0]
mov byte [ecx], al
mov edx, dword [ebp - 0xcfbc]
mov ax, word [edx]
mov word [ebp - 0xe070], ax
mov ecx, dword [ebp - 0x21f4]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x2b59]
or edx, eax
mov ecx, dword [ebp - 0x21f4]
mov byte [ecx], dl
movzx edx, word [ebp - 0xefa4]
mov eax, dword [ebp - 0x3abc]
movzx ecx, word [eax]
and edx, ecx
mov eax, dword [ebp - 0x524]
mov word [eax], dx
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x3e24]
mov eax, dword [ebp - 0xab68]
mov dword [eax], edx
mov ecx, dword [ebp - 0xb750]
sub ecx, dword [0x4dd258]
mov dword [ebp - 0x9fa0], ecx
mov edx, dword [ebp - 0x524]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x3abc]
movzx edx, word [ecx]
add eax, edx
mov ecx, dword [ebp - 0x86a4]
mov word [ecx], ax
movzx edx, byte [ebp - 0x2b59]
movzx eax, byte [ebp - 0xc4e1]
add edx, eax
mov byte [0x4def53], dl
mov ecx, dword [ebp - 0xab68]
mov edx, dword [ebp - 0x2bdc]
add edx, dword [ecx]
mov eax, dword [ebp - 0xf1dc]
mov dword [eax], edx
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
and edx, dword [ebp - 0x7b98]
mov eax, dword [ebp - 0xf638]
mov dword [eax], edx
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ebp - 0x15e8]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x2604]
mov dword [ecx], eax
mov edx, dword [ebp - 0xab68]
mov eax, dword [ebp - 0xf1dc]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x89bc]
mov dword [edx], ecx
movzx eax, word [ebp - 0x8c4c]
mov ecx, dword [ebp - 0x86a4]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x3d8], ax
movzx eax, byte [ebp - 0xd28d]
movzx ecx, byte [ebp - 0xc4e1]
shl eax, cl
mov byte [ebp - 0xdeed], al
mov ecx, dword [ebp - 0x6e64]
or ecx, dword [ebp - 0x54ac]
mov dword [ebp - 0xebc], ecx
mov edx, dword [ebp - 0x9fd0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xce84]
sar eax, cl
mov dword [ebp - 0x54ac], eax
mov ecx, dword [ebp - 0x93b8]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x9a30]
movsx ecx, byte [eax]
xor edx, ecx
mov byte [0x4dd249], dl
mov edx, dword [ebp - 0x8c3c]
movsx eax, word [edx]
mov ecx, dword [ebp - 0x9a58]
movsx edx, word [ecx]
and eax, edx
mov ecx, dword [ebp - 0xcfbc]
mov word [ecx], ax
movzx edx, byte [ebp - 0x2b59]
mov eax, dword [ebp - 0xca5c]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0xc4e1], dl
movzx edx, word [ebp - 0xd338]
mov eax, dword [ebp - 0x86a4]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x3d60]
mov word [eax], dx
mov ecx, dword [ebp - 0xe94]
add ecx, dword [ebp - 0xbbe0]
mov dword [ebp - 0xcd68], ecx
mov edx, dword [ebp - 0xab68]
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x89bc]
mov dword [edx], ecx
cmp dword [ebp - 0x2a70], 0x1126a
jbe 0x4098fc
mov eax, dword [ebp - 0x9978]
mov ecx, dword [ebp - 0x165c]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0x6208], edx
mov eax, dword [ebp - 0x7fc0]
mov cl, byte [eax]
mov byte [ebp - 0x10278], cl
cmp byte [ebp - 0x10278], 0
je 0x409c31
jmp 0x4d3072
mov edx, dword [ebp - 0x7f84]
movsx eax, word [edx]
movsx ecx, word [ebp - 0xe5ec]
add eax, ecx
mov edx, dword [ebp - 0x8c3c]
movsx ecx, word [edx]
movsx edx, word [ebp - 0xa1f4]
and ecx, edx
cmp eax, ecx
jg 0x409cfd
mov eax, dword [ebp - 0xbfec]
mov ecx, dword [ebp - 0x431c]
or ecx, dword [eax]
mov dword [ebp - 0xebc], ecx
lea edx, [ebp - 0x7b44]
mov dword [ebp - 0x3650], edx
mov eax, dword [ebp - 0x524]
movzx edx, word [eax]
movzx ecx, word [0x4de964]
sar edx, cl
mov eax, dword [ebp - 0x3d60]
mov word [eax], dx
lea ecx, [ebp - 0xc4e1]
mov dword [0x4deca8], ecx
mov edx, dword [ebp - 0x9830]
mov dword [ebp - 0x3bf0], edx
mov eax, dword [ebp - 0x15e8]
mov ecx, dword [ebp - 0xb750]
xor ecx, dword [eax]
mov dword [ebp - 0xce84], ecx
mov edx, dword [ebp - 0x9fa0]
add edx, dword [ebp - 0x431c]
mov dword [ebp - 0x9dcc], edx
mov eax, dword [ebp - 0x6158]
mov dword [ebp - 0xae3c], eax
movzx ecx, byte [ebp - 0xc4e1]
movzx edx, byte [ebp - 0xdeed]
and ecx, edx
mov byte [ebp - 0x1014d], cl
jmp 0x409dd5
movzx eax, word [ebp - 0xd338]
mov ecx, dword [ebp - 0x3d60]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0xefa4], ax
lea eax, [ebp - 0xe5ec]
push eax
mov ecx, dword [ebp - 0x8ec]
push ecx
mov edx, dword [ebp - 0xc5bc]
push edx
mov eax, dword [ebp - 0xca0c]
push eax
mov ecx, dword [ebp - 0xf31c]
push ecx
mov edx, dword [ebp - 0xca0c]
push edx
mov eax, dword [ebp - 0xf31c]
push eax
push 0xc9
call sub.VERSION.dll_VerInstallFileA
mov dword [ebp - 0x10c4], eax
movsx ecx, word [ebp - 0xe070]
mov edx, dword [ebp - 0x8c3c]
movsx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x7f84]
mov word [edx], cx
movsx eax, byte [ebp - 0xeff9]
mov ecx, dword [ebp - 0x93b8]
movsx edx, byte [ecx]
add eax, edx
mov byte [ebp - 0xeb11], al
mov eax, dword [ebp - 0xc928]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xc420]
movzx eax, byte [edx]
sub ecx, eax
mov edx, dword [0x4dfaac]
mov byte [edx], cl
lea eax, [ebp - 0x89bc]
push eax
mov ecx, dword [ebp - 0x9458]
push ecx
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov dword [ebp - 0x2bdc], eax
mov edx, dword [ebp - 0x9fd0]
mov eax, dword [ebp - 0x9978]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0x7b44], ecx
cmp dword [ebp - 0x4344], 0x7978
ja 0x40a1e1
mov edx, dword [ebp - 0x3abc]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x86a4]
movzx edx, word [ecx]
add eax, edx
mov ecx, dword [ebp - 0x3abc]
mov word [ecx], ax
mov edx, dword [ebp - 0xc928]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x21f4]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x2b59], al
mov eax, dword [ebp - 0x6fb8]
and eax, dword [ebp - 0xce84]
mov ecx, dword [ebp - 0x15e8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x89bc]
mov eax, dword [ebp - 0x30b0]
mov edx, dword [edx]
mov ecx, dword [eax]
shr edx, cl
mov eax, dword [ebp - 0x5e34]
mov dword [eax], edx
mov ecx, dword [0x4dd25c]
or ecx, dword [ebp - 0x9fa0]
mov dword [ebp - 0x54ac], ecx
mov edx, dword [ebp - 0x9978]
mov eax, dword [ebp - 0x54ac]
mov ecx, dword [edx]
shl eax, cl
mov dword [ebp - 0x3e94], eax
movzx ecx, word [ebp - 0xf728]
mov edx, dword [ebp - 0x86a4]
movzx eax, word [edx]
xor ecx, eax
mov edx, dword [ebp - 0x3d60]
mov word [edx], cx
movzx eax, byte [ebp - 0x1014d]
mov ecx, dword [ebp - 0xca5c]
movzx edx, byte [ecx]
sub eax, edx
mov ecx, dword [0x4df814]
mov byte [ecx], al
mov edx, dword [ebp - 0xab68]
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0x6158], ecx
mov edx, dword [ebp - 0xf638]
mov eax, dword [ebp - 0xc72c]
mov ecx, dword [edx]
and ecx, dword [eax]
mov dword [ebp - 0x6208], ecx
mov edx, dword [ebp - 0x49bc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x15e8]
add eax, dword [ecx]
mov edx, dword [ebp - 0xbfec]
mov dword [edx], eax
mov eax, dword [0x4dd25c]
sub eax, dword [ebp - 0x143c]
mov dword [ebp - 0x90e8], eax
mov ecx, dword [ebp - 0x49bc]
mov edx, dword [ebp - 0x6e64]
sub edx, dword [ecx]
mov dword [ebp - 0x9dcc], edx
mov eax, dword [ebp - 0x8c3c]
movsx ecx, word [eax]
mov edx, dword [ebp - 0xcfbc]
movsx eax, word [edx]
sub ecx, eax
mov word [ebp - 0xa1f4], cx
mov ecx, dword [ebp - 0x9a30]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x93b8]
movsx ecx, byte [eax]
add edx, ecx
mov eax, dword [ebp - 0x98f0]
mov byte [eax], dl
mov ecx, dword [ebp - 0x21f4]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0xd28d]
add edx, eax
mov byte [ebp - 0xc4e1], dl
movzx ecx, word [ebp - 0x8c4c]
movzx edx, word [ebp - 0xb694]
add ecx, edx
mov word [0x4df380], cx
mov eax, dword [ebp - 0xab68]
mov ecx, dword [ebp - 0xe74]
add ecx, dword [eax]
mov dword [ebp - 0x3e24], ecx
mov edx, dword [ebp - 0x5e34]
mov eax, dword [ebp - 0x3bf0]
or eax, dword [edx]
mov ecx, dword [ebp - 0x89bc]
mov dword [ecx], eax
movzx edx, word [ebp - 0x1ca4]
movzx eax, word [ebp - 0x7c04]
xor edx, eax
mov ecx, dword [ebp - 0x86a4]
mov word [ecx], dx
movzx edx, byte [ebp - 0x2b59]
movzx ecx, byte [0x4dd248]
shl edx, cl
mov eax, dword [ebp - 0xca5c]
mov byte [eax], dl
mov ecx, dword [ebp - 0xc72c]
mov edx, dword [ebp - 0xf638]
mov eax, dword [ecx]
mov ecx, dword [edx]
sar eax, cl
mov dword [ebp - 0xce84], eax
mov ecx, dword [ebp - 0xe94]
and ecx, dword [ebp - 0xbbe0]
mov dword [ebp - 0x6158], ecx
mov edx, dword [ebp - 0x3650]
mov eax, dword [0x4dd258]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x2604]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4344]
add edx, 0x5a
mov dword [ebp - 0x4344], edx
mov eax, dword [ebp - 0x9fa0]
sub eax, dword [ebp - 0x54ac]
mov dword [ebp - 0x6e64], eax
movzx ecx, word [ebp - 0xd338]
mov edx, dword [ebp - 0x3d60]
movzx eax, word [edx]
and ecx, eax
mov word [0x4df380], cx
mov ecx, dword [ebp - 0x7fc0]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x21f4]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x1014d], dl
mov edx, dword [ebp - 0xef80]
add edx, dword [ebp - 0xbbe0]
mov dword [ebp - 0x9830], edx
mov eax, dword [ebp - 0x9fd0]
mov ecx, dword [ebp - 0x7b44]
add ecx, dword [eax]
mov edx, dword [ebp - 0xbfec]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2210]
movsx ecx, word [eax]
mov edx, dword [ebp - 0xcfbc]
movsx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x8c3c]
mov word [edx], cx
mov eax, dword [ebp - 0x93b8]
movsx ecx, byte [eax]
movsx edx, byte [0x4dd249]
sub ecx, edx
mov byte [ebp - 0x6931], cl
mov eax, dword [ebp - 0x86a4]
movzx edx, word [eax]
mov eax, dword [ebp - 0x3abc]
movzx ecx, word [eax]
sar edx, cl
mov ecx, dword [ebp - 0x524]
mov word [ecx], dx
mov edx, dword [ebp - 0xc420]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0xd28d]
xor eax, ecx
mov edx, dword [ebp - 0xca5c]
mov byte [edx], al
mov eax, dword [ebp - 0x8c]
or eax, dword [ebp - 0x10c4]
mov ecx, dword [ebp - 0x30b0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x165c]
mov eax, dword [ebp - 0x49bc]
mov edx, dword [edx]
mov ecx, dword [eax]
shl edx, cl
mov dword [0x4dd258], edx
mov eax, dword [0x4dd258]
and eax, dword [ebp - 0x6208]
mov dword [ebp - 0x90e8], eax
mov ecx, dword [ebp - 0x9830]
add ecx, dword [ebp - 0xe74]
mov dword [ebp - 0x8c], ecx
mov edx, dword [ebp - 0x1e98]
mov eax, dword [edx]
add eax, dword [ebp - 0xebc]
mov dword [ebp - 0x6e64], eax
mov ecx, dword [ebp - 0x7fc0]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x21f4]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x1014d], dl
mov edx, dword [ebp - 0x3abc]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x7c04]
sub eax, ecx
mov word [ebp - 0x8c4c], ax
mov edx, dword [0x4dd24c]
and edx, dword [ebp - 0x9dcc]
mov dword [ebp - 0x54ac], edx
mov eax, dword [ebp - 0xab68]
mov ecx, dword [eax]
mov dword [ebp - 0x10c4], ecx
mov edx, dword [ebp - 0x15e8]
mov eax, dword [edx]
sub eax, dword [ebp - 0x90e8]
mov dword [ebp - 0x6e64], eax
movzx ecx, byte [ebp - 0xd28d]
mov edx, dword [ebp - 0xc420]
movzx eax, byte [edx]
sub ecx, eax
mov edx, dword [0x4df814]
mov byte [edx], cl
jmp 0x409dd5
lea eax, [ebp - 0xd338]
mov dword [ebp - 0xd208], eax
mov ecx, dword [ebp - 0x21f4]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x7fc0]
movzx ecx, byte [eax]
add edx, ecx
mov eax, dword [ebp - 0xca5c]
mov byte [eax], dl
movsx ecx, byte [ebp - 0x6931]
movsx edx, byte [ebp - 0xd77d]
add ecx, edx
mov byte [ebp - 0x96f5], cl
mov eax, dword [ebp - 0xcfbc]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x5d08]
xor ecx, edx
mov word [ebp - 0xe070], cx
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [ebp - 0xe74]
or ecx, dword [eax]
mov edx, dword [ebp - 0x89bc]
mov dword [edx], ecx
mov eax, dword [ebp - 0x49bc]
mov ecx, dword [ebp - 0xc72c]
mov edx, dword [eax]
mov ecx, dword [ecx]
sar edx, cl
mov dword [ebp - 0x7b44], edx
movzx eax, word [ebp - 0x8c4c]
mov ecx, dword [ebp - 0x3d60]
movzx ecx, word [ecx]
shl eax, cl
mov edx, dword [ebp - 0x86a4]
mov word [edx], ax
movzx eax, byte [ebp - 0xdeed]
movzx ecx, byte [ebp - 0x1014d]
and eax, ecx
mov byte [ebp - 0xd28d], al
mov edx, dword [ebp - 0xc420]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xc928]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [0x4dfaac]
mov byte [ecx], al
mov edx, dword [ebp - 0xbfec]
mov eax, dword [edx]
add eax, dword [ebp - 0xebc]
mov dword [ebp - 0xb750], eax
mov ecx, dword [ebp - 0x15e8]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x49bc]
add edx, dword [eax]
mov dword [ebp - 0x7b98], edx
mov ecx, dword [ebp - 0xf1dc]
mov edx, dword [ebp - 0x10c4]
sub edx, dword [ecx]
mov dword [ebp - 0x3e24], edx
movzx eax, word [ebp - 0x3d8]
mov ecx, dword [ebp - 0x3abc]
movzx edx, word [ecx]
sub eax, edx
mov word [ebp - 0x7c04], ax
mov eax, dword [ebp - 0xc928]
movzx ecx, byte [eax]
mov edx, dword [0x4df814]
movzx eax, byte [edx]
and ecx, eax
mov edx, dword [ebp - 0x21f4]
mov byte [edx], cl
mov eax, dword [ebp - 0x3e94]
add eax, dword [ebp - 0x7b44]
mov dword [ebp - 0xce84], eax
mov ecx, dword [ebp - 0x7b44]
sub ecx, dword [ebp - 0xb750]
mov edx, dword [ebp - 0x3650]
mov dword [edx], ecx
mov eax, dword [ebp - 0xf1dc]
mov ecx, dword [ebp - 0x9830]
sub ecx, dword [eax]
mov dword [ebp - 0x2bdc], ecx
mov edx, dword [ebp - 0xb750]
or edx, dword [ebp - 0x3e94]
mov dword [0x4dd258], edx
mov eax, dword [ebp - 0x15e8]
mov edx, dword [ebp - 0xb750]
mov ecx, dword [eax]
sar edx, cl
mov dword [ebp - 0x3e94], edx
mov eax, dword [ebp - 0xcfbc]
movsx ecx, word [eax]
mov edx, dword [ebp - 0x2210]
movsx eax, word [edx]
xor ecx, eax
mov edx, dword [ebp - 0x7f84]
mov word [edx], cx
movsx eax, byte [ebp - 0xeb11]
mov ecx, dword [ebp - 0x93b8]
movsx ecx, byte [ecx]
shl eax, cl
mov edx, dword [ebp - 0x98f0]
mov byte [edx], al
movzx eax, word [ebp - 0x8c4c]
movzx ecx, word [ebp - 0x3d8]
and eax, ecx
mov word [ebp - 0xefa4], ax
movzx edx, byte [ebp - 0xc4e1]
movzx eax, byte [ebp - 0x2b59]
sub edx, eax
mov ecx, dword [ebp - 0x7fc0]
mov byte [ecx], dl
mov edx, dword [ebp - 0xab68]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x5e34]
add eax, dword [ecx]
mov edx, dword [ebp - 0xab68]
mov dword [edx], eax
mov eax, dword [ebp - 0x3650]
mov ecx, dword [eax]
mov edx, dword [ebp - 0xc72c]
add ecx, dword [edx]
mov dword [ebp - 0x7b98], ecx
movzx eax, word [ebp - 0xb694]
mov ecx, dword [ebp - 0x3d60]
movzx edx, word [ecx]
sub eax, edx
mov word [ebp - 0xefa4], ax
movzx eax, byte [ebp - 0xd28d]
mov ecx, dword [ebp - 0xc928]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [0x4df4e0]
mov byte [ecx], al
mov edx, dword [ebp - 0xab68]
mov eax, dword [edx]
sub eax, dword [ebp - 0x9d3c]
mov dword [ebp - 0xef80], eax
mov ecx, dword [ebp - 0x143c]
and ecx, dword [ebp - 0x9fa0]
mov dword [ebp - 0xb750], ecx
mov edx, dword [ebp - 0xce84]
add edx, dword [ebp - 0x431c]
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x30b0]
mov edx, dword [ecx]
or edx, dword [ebp - 0x8c]
mov dword [ebp - 0xcd68], edx
movzx eax, byte [ebp - 0xd28d]
mov ecx, dword [ebp - 0xc928]
movzx edx, byte [ecx]
xor eax, edx
mov byte [ebp - 0x1014d], al
movzx eax, word [ebp - 0x7c04]
movzx ecx, word [ebp - 0x3d8]
sar eax, cl
mov ecx, dword [ebp - 0x86a4]
mov word [ecx], ax
mov edx, dword [ebp - 0x9978]
mov eax, dword [ebp - 0xbfec]
mov edx, dword [edx]
mov ecx, dword [eax]
shl edx, cl
mov dword [ebp - 0x431c], edx
mov eax, dword [ebp - 0x9fd0]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x1e98]
add ecx, dword [edx]
mov dword [ebp - 0x431c], ecx
movzx eax, byte [0x4dd248]
movzx ecx, byte [ebp - 0xd28d]
and eax, ecx
mov edx, dword [0x4df814]
mov byte [edx], al
mov eax, dword [ebp - 0x2210]
movsx ecx, word [eax]
mov edx, dword [ebp - 0x8c3c]
movsx eax, word [edx]
add ecx, eax
mov word [ebp - 0x5d08], cx
movzx ecx, word [ebp - 0xb694]
movzx edx, word [ebp - 0x7c04]
add ecx, edx
mov word [ebp - 0x1ca4], cx
mov eax, dword [ebp - 0x21f4]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x7fc0]
movzx eax, byte [edx]
sub ecx, eax
mov edx, dword [ebp - 0xc928]
mov byte [edx], cl
mov eax, dword [ebp - 0x89bc]
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x89bc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xab68]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x8c]
mov dword [ebp - 0xcd68], edx
mov eax, dword [ebp - 0x1e98]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x143c]
mov dword [ebp - 0x54ac], ecx
mov edx, dword [ebp - 0xc72c]
mov eax, dword [edx]
add eax, dword [ebp - 0x143c]
mov ecx, dword [ebp - 0x165c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1e98]
mov eax, dword [ebp - 0x54ac]
and eax, dword [edx]
mov dword [ebp - 0x6e64], eax
movzx edx, byte [ebp - 0x2b59]
mov eax, dword [0x4dfaac]
movzx ecx, byte [eax]
shl edx, cl
mov byte [ebp - 0xd28d], dl
movzx edx, word [ebp - 0xb694]
mov eax, dword [ebp - 0x3abc]
movzx ecx, word [eax]
sar edx, cl
mov word [0x4de964], dx
mov ecx, dword [ebp - 0x89bc]
mov edx, dword [ecx]
xor edx, dword [ebp - 0xe94]
mov eax, dword [ebp - 0xab68]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2604]
mov edx, dword [ecx]
or edx, dword [ebp - 0x90e8]
mov dword [ebp - 0x7b98], edx
mov eax, dword [ebp - 0xbfec]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x6e64]
mov edx, dword [ebp - 0x9978]
mov dword [edx], ecx
mov eax, dword [ebp - 0xf1dc]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x30b0]
add ecx, dword [edx]
mov dword [ebp - 0x3bf0], ecx
mov eax, dword [ebp - 0x47b4]
add eax, 0x37
mov dword [ebp - 0x47b4], eax
mov ecx, dword [ebp - 0x7fc0]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0xc4e1]
and edx, eax
mov byte [ebp - 0x2b59], dl
movzx ecx, word [ebp - 0x3d8]
movzx edx, word [ebp - 0x6444]
sub ecx, edx
mov eax, dword [ebp - 0x3abc]
mov word [eax], cx
mov ecx, dword [ebp - 0x98f0]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x9a30]
movsx ecx, byte [eax]
add edx, ecx
mov byte [ebp - 0x96f5], dl
cmp dword [ebp - 0x47b4], 0x4645
jne 0x40a21f
lea edx, [ebp - 0xa1f4]
mov dword [ebp - 0x208c], edx
mov eax, dword [ebp - 0x9978]
mov ecx, dword [eax]
mov dword [ebp - 0x1027c], ecx
cmp dword [ebp - 0x1027c], 0x6781
je 0x40a6f3
cmp dword [ebp - 0x1027c], 0x6f56
je 0x40a730
mov edx, dword [ebp - 0x3650]
mov eax, dword [ebp - 0x9978]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x1e98]
mov dword [edx], ecx
movzx eax, byte [ebp - 0xd28d]
mov ecx, dword [ebp - 0xc420]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0xc4e1], al
mov ecx, dword [ebp - 0xce84]
call fcn.004d42f0
jmp 0x40a791
mov eax, dword [ebp - 0xf1dc]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0xc420]
movzx eax, byte [edx]
push eax
mov ecx, dword [ebp - 0x9830]
push ecx
movzx edx, word [ebp - 0xe5ec]
push edx
movzx eax, word [ebp - 0xe5ec]
push eax
call fcn.004d3a90
add esp, 0x14
mov ecx, dword [ebp - 0x9fd0]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x9978]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x1e98]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x15e8]
mov ecx, dword [eax]
push ecx
call fcn.00402d00
add esp, 0x14
mov edx, dword [ebp - 0xca5c]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x7fc0]
movzx edx, byte [ecx]
add eax, edx
mov byte [ebp - 0x1014d], al
mov eax, dword [ebp - 0x3d60]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x3abc]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp - 0xf728], cx
mov ecx, dword [ebp - 0x89bc]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x2bdc]
mov eax, dword [ebp - 0xab68]
mov dword [eax], edx
movzx edx, byte [ebp - 0x2b59]
mov eax, dword [ebp - 0xc420]
movzx ecx, byte [eax]
add edx, ecx
movzx eax, byte [0x4dd248]
mov ecx, dword [ebp - 0x7fc0]
movzx ecx, byte [ecx]
shl eax, cl
cmp edx, eax
jg 0x4d314e
jmp 0x4d3166
mov edx, dword [ebp - 0x2604]
mov eax, dword [ebp - 0x9978]
mov edx, dword [edx]
mov ecx, dword [eax]
sar edx, cl
mov dword [ebp - 0xb750], edx
movzx eax, byte [ebp - 0x96f5]
push eax
mov edx, dword [ebp - 0xa1f4]
mov ecx, dword [ebp - 0x165c]
mov ecx, dword [ecx]
call fcn.00403500
mov edx, dword [ebp - 0xb750]
mov dword [ebp - 0x102b0], edx
cmp dword [ebp - 0x102b0], 0xf18
je 0x4d31aa
cmp dword [ebp - 0x102b0], 0x3f45
je 0x4d3223
jmp 0x4d3243
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [ebp - 0x89bc]
mov edx, dword [eax]
mov ecx, dword [ecx]
shl edx, cl
mov dword [ebp - 0xe428], edx
mov eax, dword [ebp - 0xbfec]
mov ecx, dword [ebp - 0x54ac]
xor ecx, dword [eax]
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
movsx eax, byte [ebp - 0xbf91]
movsx ecx, byte [ebp - 0x96f5]
sar eax, cl
mov byte [ebp - 0xd77d], al
mov ecx, dword [ebp - 0x1e98]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x9dcc]
push eax
mov ecx, dword [ebp - 0x2604]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x9978]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x49bc]
mov eax, dword [edx]
push eax
call fcn.00402d00
add esp, 0x14
jmp 0x4d3243
lea ecx, [ebp - 0x5524]
push ecx
push 0xaf
push 0x5b
mov edx, dword [ebp - 0xae54]
push edx
call sub.VERSION.dll_GetFileVersionInfoA
mov dword [ebp - 0x1c84], eax
mov eax, dword [ebp - 0x15e8]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x9fd0]
add ecx, dword [edx]
mov eax, dword [ebp - 0xbfec]
mov dword [eax], ecx
movzx ecx, byte [0x4dd249]
push ecx
mov edx, dword [ebp - 0x86a4]
movzx eax, word [edx]
push eax
movzx ecx, byte [ebp - 0xd77d]
push ecx
mov dl, byte [ebp - 0xd77d]
mov cl, byte [ebp - 0xd28d]
call fcn.00403430
mov edx, dword [ebp - 0x1e98]
mov eax, dword [edx]
push eax
call fcn.00402350
add esp, 4
jmp 0x4d32df
movsx ecx, byte [ebp - 0xeb11]
mov edx, dword [ebp - 0x9a30]
movsx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0xeff9], cl
mov ecx, dword [ebp - 0xe428]
push ecx
movzx edx, byte [ebp - 0xd28d]
push edx
mov eax, dword [ebp - 0x6158]
push eax
movzx ecx, word [ebp - 0xa1f4]
push ecx
movzx edx, word [ebp - 0x5d08]
push edx
call fcn.004d3a90
add esp, 0x14
mov eax, dword [ebp - 0x6fb8]
sub eax, dword [ebp - 0x6208]
mov ecx, dword [ebp - 0x1e98]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1e98]
mov eax, dword [ebp - 0x9978]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0xebc], ecx
lea edx, [ebp - 0xd7b0]
push edx
call dword [sym.imp.COMDLG32.dll_ReplaceTextA]
mov dword [ebp - 0xbf24], eax
mov eax, dword [ebp - 0xca5c]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0xc4e1]
and ecx, edx
mov eax, dword [0x4df4e0]
mov byte [eax], cl
jmp 0x4d336b
lea ecx, [ebp - 0xe5ec]
push ecx
push 0x6e
push 0xd1
mov edx, dword [ebp - 0xca0c]
push edx
call sub.VERSION.dll_GetFileVersionInfoA
mov dword [ebp - 0xf3d8], eax
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x6158]
mov dword [ebp - 0xe74], ecx
mov edx, dword [ebp - 0x7fc0]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xca5c]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x2b59], al
mov eax, dword [ebp - 0x3d60]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x7c04]
sub ecx, edx
mov eax, dword [ebp - 0x3abc]
mov word [eax], cx
mov ecx, dword [ebp - 0x3d60]
mov dx, word [ecx]
mov eax, dword [ebp - 0x3abc]
mov cx, word [eax]
call fcn.004029a0
mov ecx, dword [ebp - 0x30b0]
mov edx, dword [ecx]
mov dword [ebp - 0x102b4], edx
cmp dword [ebp - 0x102b4], 0x9637
je 0x4d33d3
jmp 0x4d33fa
lea eax, [ebp - 0x7fc0]
push eax
lea ecx, [ebp - 0x65c4]
push ecx
mov edx, dword [ebp - 0x9cb0]
push edx
lea eax, [ebp - 0xbae8]
push eax
call sub.VERSION.dll_VerQueryValueA
mov dword [ebp - 0x4784], eax
movzx ecx, word [ebp - 0x7c04]
mov edx, dword [ebp - 0x524]
movzx eax, word [edx]
add ecx, eax
movzx edx, word [0x4de964]
movzx eax, word [ebp - 0xb694]
add edx, eax
cmp ecx, edx
jg 0x4d3472
mov ecx, dword [ebp - 0x8c3c]
movsx edx, word [ecx]
movsx eax, word [0x4dd254]
add edx, eax
mov ecx, dword [ebp - 0x8c3c]
mov word [ecx], dx
movzx edx, word [ebp - 0xf728]
movzx eax, word [ebp - 0x7c04]
sub edx, eax
mov word [0x4de964], dx
movzx ecx, byte [ebp - 0x6931]
push ecx
mov edx, dword [ebp - 0x9a58]
mov dx, word [edx]
mov eax, dword [ebp - 0xbfec]
mov ecx, dword [eax]
call fcn.00403500
jmp 0x4d348c
movzx ecx, byte [ebp - 0x1014d]
mov edx, dword [ebp - 0xc928]
movzx eax, byte [edx]
sub ecx, eax
mov edx, dword [ebp - 0xca5c]
mov byte [edx], cl
jmp 0x4d351b
mov eax, dword [ebp - 0x524]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x3d60]
movzx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0x3abc]
mov word [edx], cx
mov eax, dword [ebp - 0x524]
movzx ecx, word [eax]
mov dword [ebp - 0x102b8], ecx
cmp dword [ebp - 0x102b8], 0x113
je 0x4d34d7
cmp dword [ebp - 0x102b8], 0x869
je 0x4d34ec
jmp 0x4d351b
lea edx, [ebp - 0xa810]
push edx
call dword [sym.imp.COMDLG32.dll_PageSetupDlgA]
mov dword [ebp - 0x66e0], eax
jmp 0x4d351b
mov eax, dword [ebp - 0x49bc]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0x9dcc]
mov dword [0x4dd250], ecx
mov edx, dword [ebp - 0x9a58]
movsx eax, word [edx]
movsx ecx, word [ebp - 0xa1f4]
or eax, ecx
mov edx, dword [ebp - 0x9a58]
mov word [edx], ax
mov eax, dword [ebp - 0x7b44]
add eax, dword [ebp - 0x431c]
mov dword [ebp - 0x9dcc], eax
movzx ecx, byte [ebp - 0x2b59]
movzx edx, byte [ebp - 0xd28d]
add ecx, edx
mov byte [ebp - 0xdeed], cl
movzx eax, byte [ebp - 0x6931]
push eax
mov ecx, dword [ebp - 0x3d60]
movzx edx, word [ecx]
push edx
movzx eax, byte [ebp - 0xeff9]
push eax
mov dl, byte [ebp - 0x6931]
mov ecx, dword [ebp - 0xc928]
mov cl, byte [ecx]
call fcn.00403430
mov edx, dword [ebp - 0xc928]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x1014d]
add eax, ecx
mov edx, dword [ebp - 0xc928]
mov byte [edx], al
movzx eax, word [ebp - 0x7c04]
mov ecx, dword [ebp - 0x3d60]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x3d8], ax
mov eax, dword [ebp - 0xe74]
sub eax, dword [ebp - 0x3e24]
mov ecx, dword [ebp - 0x5e34]
mov dword [ecx], eax
mov edx, dword [ebp - 0x6208]
add edx, dword [0x4dd250]
mov dword [ebp - 0x431c], edx
mov eax, dword [ebp - 0x9978]
mov ecx, dword [eax]
and ecx, dword [ebp - 0xb750]
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x2b59]
movzx ecx, byte [ebp - 0x1014d]
add eax, ecx
movzx edx, byte [0x4dd248]
mov ecx, dword [ebp - 0xc928]
movzx ecx, byte [ecx]
sub edx, ecx
cmp eax, edx
jle 0x4d361e
mov edx, dword [ebp - 0x3d60]
movzx eax, word [edx]
push eax
movzx ecx, byte [ebp - 0x2b59]
push ecx
call fcn.004022a0
jmp 0x4d3632
movsx edx, word [ebp - 0x5d08]
add edx, 0x6cc
mov word [ebp - 0xa1f4], dx
lea eax, [ebp - 0xa620]
push eax
call dword [sym.imp.COMDLG32.dll_PrintDlgExA]
mov dword [ebp - 0x3dcc], eax
mov ecx, dword [ebp - 0x49bc]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x165c]
add edx, dword [eax]
mov dword [0x4dd24c], edx
mov ecx, dword [ebp - 0xc928]
movzx edx, byte [ecx]
movzx ecx, byte [ebp - 0x2b59]
shl edx, cl
mov byte [ebp - 0x1014d], dl
mov eax, dword [ebp - 0x7b44]
push eax
mov ecx, dword [ebp - 0xb750]
push ecx
mov edx, dword [ebp - 0x431c]
push edx
mov eax, dword [ebp - 0x7b44]
push eax
mov ecx, dword [ebp - 0x9dcc]
push ecx
call fcn.00402d00
add esp, 0x14
jmp 0x4d370f
lea edx, [ebp - 0x2c60]
push edx
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameA]
mov dword [ebp - 0xf3d8], eax
mov al, byte [ebp - 0x1014d]
mov byte [ebp - 0x102bc], al
cmp byte [ebp - 0x102bc], 0xac
je 0x4d36cc
jmp 0x4d36de
mov ecx, dword [ebp - 0xe428]
or ecx, dword [ebp - 0xe74]
mov dword [ebp - 0x6158], ecx
mov edx, dword [ebp - 0xc928]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x2b59]
add eax, ecx
mov byte [ebp - 0x1014d], al
movzx edx, word [ebp - 0x7c04]
movzx ecx, word [ebp - 0x3d8]
sar edx, cl
mov eax, dword [ebp - 0x86a4]
mov word [eax], dx
mov ecx, dword [ebp - 0x5e34]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x2bdc]
mov dword [ebp - 0x3e24], edx
mov eax, dword [ebp - 0x6208]
mov dword [ebp - 0x102c0], eax
cmp dword [ebp - 0x102c0], 0x6d8e
je 0x4d373f
jmp 0x4d3798
movsx ecx, word [ebp - 0xa1f4]
sub ecx, 0x514
mov word [ebp - 0xa1f4], cx
mov edx, dword [ebp - 0x9978]
mov eax, dword [edx]
and eax, dword [ebp - 0x6208]
mov ecx, dword [ebp - 0x9978]
mov dword [ecx], eax
mov edx, dword [ebp - 0x9978]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x9dcc]
push ecx
mov edx, dword [ebp - 0x143c]
push edx
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0xb750]
push edx
call fcn.00402d00
add esp, 0x14
lea eax, [ebp - 0xdbd0]
push eax
call dword [sym.imp.COMDLG32.dll_ChooseColorA]
mov dword [ebp - 0xeba0], eax
mov ecx, dword [ebp - 0x49bc]
mov edx, dword [ebp - 0x143c]
add edx, dword [ecx]
mov eax, dword [ebp - 0x165c]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x1014d]
movzx edx, byte [ebp - 0x2b59]
xor ecx, edx
mov eax, dword [ebp - 0xc928]
mov byte [eax], cl
mov edx, dword [ebp - 0x2bdc]
mov ecx, dword [ebp - 0xe74]
shl edx, cl
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x3e24]
cmp edx, ecx
jne 0x4d37fb
jmp 0x4d382d
mov edx, dword [ebp - 0x5e34]
mov eax, dword [edx]
sub eax, dword [ebp - 0xe74]
mov ecx, dword [ebp - 0x3e24]
sub ecx, dword [ebp - 0x6158]
cmp eax, ecx
jae 0x4d382d
mov edx, dword [ebp - 0x7c04]
mov eax, dword [ebp - 0x524]
mov cx, word [eax]
call fcn.004029a0
movzx ecx, word [ebp - 0x3d8]
mov edx, dword [ebp - 0x86a4]
movzx eax, word [edx]
add ecx, eax
mov word [ebp - 0x7c04], cx
mov ecx, dword [ebp - 0x6208]
xor ecx, dword [ebp - 0x143c]
mov dword [ebp - 0x431c], ecx
mov edx, dword [ebp - 0x9dcc]
push edx
mov eax, dword [ebp - 0x2bdc]
push eax
movzx ecx, word [ebp - 0xa1f4]
push ecx
call fcn.004d3c30
add esp, 0xc
mov dl, byte [ebp - 0x1014d]
mov byte [ebp - 0x102c4], dl
cmp byte [ebp - 0x102c4], 0xdb
je 0x4d388d
jmp 0x4d38a0
lea eax, [ebp - 0xa368]
push eax
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameA]
mov dword [ebp - 0xf3d8], eax
mov ecx, dword [ebp - 0x165c]
mov edx, dword [ecx]
and edx, dword [ebp - 0x6208]
mov dword [ebp - 0x9dcc], edx
movsx eax, word [ebp - 0xa1f4]
sub eax, 0x544
mov word [ebp - 0xa1f4], ax
mov ecx, dword [ebp - 0xe74]
add ecx, dword [ebp - 0x2bdc]
mov edx, dword [ebp - 0x5e34]
mov dword [edx], ecx
mov eax, dword [ebp - 0xc928]
movzx ecx, byte [eax]
movzx edx, byte [0x4dd248]
sub ecx, edx
mov byte [ebp - 0x1014d], cl
mov eax, dword [ebp - 0x5e34]
mov ecx, dword [eax]
push ecx
call fcn.004d3a60
lea edx, [ebp - 0x1014d]
push edx
mov eax, dword [ebp - 0xae54]
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov dword [ebp - 0x2bdc], eax
mov ecx, dword [ebp - 0x3d60]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x3d8]
sub edx, eax
mov ecx, dword [ebp - 0x524]
mov word [ecx], dx
movzx edx, byte [0x4dd248]
mov eax, dword [ebp - 0xc928]
movzx ecx, byte [eax]
add edx, ecx
mov byte [ebp - 0x1014d], dl
mov edx, dword [ebp - 0xe74]
push edx
call fcn.004d3a60
jmp 0x4d39ac
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
sub ecx, 0x4f64
cmp ecx, dword [ebp - 0x6208]
jl 0x4d39ac
movsx edx, word [ebp - 0xa1f4]
and edx, 0x17a
mov word [ebp - 0xa1f4], dx
lea eax, [ebp - 0x1718]
push eax
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameA]
mov dword [ebp - 0xf0d0], eax
mov ecx, dword [ebp - 0x6208]
add ecx, 0x4aec
mov edx, dword [ebp - 0x165c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x165c]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0xe428]
push edx
movzx eax, word [ebp - 0xa1f4]
push eax
call fcn.004d3c30
add esp, 0xc
movsx ecx, byte [ebp - 0x6931]
sub ecx, 0x14
cmp ecx, 0x6f
jl 0x4d3a31
movzx edx, byte [0x4dd248]
and edx, 0x28
mov byte [0x4dd248], dl
lea eax, [ebp - 0xa498]
push eax
call dword [sym.imp.COMDLG32.dll_PageSetupDlgA]
mov dword [ebp - 0x66e0], eax
movsx ecx, byte [ebp - 0x6931]
sar ecx, 2
mov byte [ebp - 0x6931], cl
movsx edx, word [ebp - 0xa1f4]
xor edx, 0xa1
mov word [ebp - 0xa1f4], dx
mov edx, 0xc4
mov ecx, 0x7e
call fcn.004029a0
lea eax, [ebp - 0x2798]
push eax
call dword [sym.imp.COMDLG32.dll_ChooseFontA]
mov dword [ebp - 0xf0d0], eax
mov eax, dword [ebp - 0x6758]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10