Function at 0x4167c8
Capabilities:
Get common file path
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1f4
push ebx
push esi
push edi
xor edi, edi
push edi
xor eax, eax
inc eax
push 0x2bc
push eax
push dword [0x4e33c0]
mov dword [ebp - 0x20], edi
mov dword [0x4c0874], eax
call dword [sym.imp.USER32.dll_SetTimer]
push 0x1200
push edi
push 0x48ce68
call fcn.0043ecf0
mov eax, dword [0x4815f4]
imul eax, eax, 0x14
mov eax, dword [eax + 0x466958]
add esp, 0xc
xor esi, esi
push 0xa
push eax
call fcn.0043d2a0
pop ecx
pop ecx
mov ecx, eax
inc eax
test ecx, ecx
je 0x41682e
inc esi
cmp esi, 9
jl 0x416817
mov ecx, dword [0x4815f4]
mov eax, ecx
imul eax, eax, 0x14
xor edx, edx
mov dword [0x4a32bc], esi
add eax, 0x466958
mov esi, dword [eax]
cmp byte [esi], 0
je 0x416856
inc edx
add eax, 4
cmp edx, 5
jl 0x416846
or dword [ebp - 4], 0xffffffff
lea eax, [edx - 1]
mov dword [0x4e2e34], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], edi
cmp eax, edi
jg 0x4168c1
push 0x45baec
mov esi, 0x4a3294
push esi
call fcn.0043ea47
mov edi, eax
pop ecx
pop ecx
test edi, edi
jne 0x416b86
lea eax, [ebp - 0x1f4]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push esi
lea eax, [ebp - 0x1f4]
push eax
push str.Cant_R_Open:__s_s
push 0x4debb0
call fcn.0043ee44
add esp, 0x10
xor eax, eax
jmp 0x4179e9
mov ecx, dword [0x4815f4]
mov esi, dword [ebp - 0xc]
imul ecx, ecx, 5
add ecx, dword [ebp - 0xc]
shl esi, 4
mov ecx, dword [ecx*4 + 0x46695c]
xor edi, edi
mov dword [ebp - 0x18], esi
mov dword [esi + 0x4cd5e8], ecx
mov eax, ecx
mov dword [ebp - 0x24], edi
push 0xa
push eax
call fcn.0043d2a0
pop ecx
pop ecx
mov ecx, eax
inc eax
test ecx, ecx
je 0x4168fe
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x1e
jl 0x4168e4
and dword [ebp - 0x14], 0
mov dword [esi + 0x4cd5ec], edi
mov ebx, dword [esi + 0x4cd5e8]
test edi, edi
jle 0x416a2e
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x41692a
push 0xa
push ebx
call fcn.0043d2a0
pop ecx
pop ecx
lea ebx, [eax + 1]
mov eax, dword [0x4a32bc]
add eax, esi
cmp eax, 0x17
jg 0x416b68
mov esi, dword [ebp - 4]
imul esi, esi, 0x24
xor edi, edi
mov dword [ebp - 0x10], edi
add esi, 0x48ce78
mov al, byte [edi + ebx]
and dword [ebp - 8], 0
mov dword [ebp - 0x1c], edi
cmp al, 0xa
je 0x416a1c
cmp al, 0x5f
jne 0x416a12
inc dword [ebp - 4]
add esi, 0x24
cmp esi, 0x48e078
jg 0x416b7f
mov eax, dword [ebp - 0x14]
mov ecx, dword [0x4a32bc]
lea eax, [ecx + eax + 3]
mov dword [esi - 0xc], eax
mov eax, edi
sub eax, dword [ebp - 0x10]
inc eax
mov dword [esi - 0x10], eax
jmp 0x416993
inc edi
cmp byte [edi + ebx], 0x5f
je 0x416992
cmp byte [edi + ebx], 0x2e
jne 0x4169ab
inc edi
mov eax, edi
sub eax, dword [ebp - 0x1c]
mov dword [esi - 4], eax
jmp 0x4169ab
inc edi
cmp byte [edi + ebx], 0x5f
je 0x4169aa
movsx eax, byte [edi + ebx]
push eax
call fcn.0043fb6d
pop ecx
test eax, eax
jne 0x4169d7
mov eax, dword [ebp - 0x1c]
cmp byte [eax + ebx - 1], 0x2e
jne 0x4169cf
and dword [esi], 0
jmp 0x416a06
mov dword [esi], 3
jmp 0x416a06
lea eax, [edi + ebx]
push eax
mov dword [ebp - 8], edi
call fcn.0044058f
pop ecx
mov dword [esi], eax
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
movsx eax, byte [eax + ebx]
push eax
call fcn.0043fb6d
pop ecx
test eax, eax
jne 0x4169e6
sub dword [ebp - 8], edi
mov eax, dword [ebp - 8]
add dword [ebp - 0x10], eax
add edi, eax
mov eax, edi
sub eax, dword [ebp - 8]
sub eax, dword [ebp - 0x1c]
dec edi
mov dword [esi - 8], eax
inc edi
cmp edi, 0x64
jl 0x41694b
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x24]
jl 0x416916
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 4]
imul ecx, ecx, 0x24
mov eax, 0x48ce68
add ecx, eax
cmp dword [ebp - 0xc], 0
mov dword [esi + 0x4cd5e4], ecx
je 0x416a58
mov eax, dword [esi + 0x4cd5d4]
add eax, 0x24
mov dword [esi + 0x4cd5e0], eax
jmp 0x416a5d
mov dword [0x4cd5e0], eax
mov ecx, dword [esi + 0x4cd5e0]
mov eax, dword [esi + 0x4cd5e4]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], eax
cmp ecx, eax
ja 0x416b54
push 0x24
sub eax, ecx
xor edx, edx
pop esi
div esi
lea edi, [ecx + 0x1c]
inc eax
mov dword [ebp - 0x24], eax
jmp 0x416a8c
mov ecx, dword [ebp - 0x14]
lea ebx, [edi - 0x1c]
lea eax, [edi - 0x40]
mov dword [edi + 4], ebx
mov dword [edi], ebx
lea esi, [edi - 0x40]
cmp eax, ecx
jb 0x416af3
mov eax, dword [edi - 0x18]
cmp dword [esi + 4], eax
jl 0x416ab0
sub esi, 0x24
cmp esi, dword [ebp - 0x14]
jae 0x416aa1
jmp 0x416af3
mov eax, dword [esi + 4]
mov ecx, dword [ebx]
mov dword [ebp - 0x18], eax
mov eax, dword [esi]
mov dword [ebp - 0x10], ecx
sub eax, ecx
jmp 0x416adf
mov eax, dword [ebp - 0x18]
cmp dword [esi + 4], eax
jne 0x416af3
mov eax, dword [esi]
sub eax, dword [ebp - 0x10]
push eax
call fcn.00440a54
pop ecx
cmp eax, dword [ebp - 0x1c]
jge 0x416aeb
mov eax, dword [esi]
sub eax, dword [ebp - 0x10]
push eax
call fcn.00440a54
mov dword [edi], esi
mov dword [ebp - 0x1c], eax
pop ecx
sub esi, 0x24
cmp esi, dword [ebp - 0x14]
jae 0x416ac1
lea esi, [edi + 8]
cmp esi, dword [ebp - 8]
ja 0x416b48
mov eax, dword [edi - 0x18]
cmp dword [esi + 4], eax
jg 0x416b0d
add esi, 0x24
cmp esi, dword [ebp - 8]
jbe 0x416afe
jmp 0x416b48
mov eax, dword [esi + 4]
mov ebx, dword [ebx]
mov dword [ebp - 0x18], eax
jmp 0x416b2f
mov eax, dword [esi + 4]
cmp eax, dword [ebp - 0x18]
jne 0x416b48
mov eax, dword [esi]
sub eax, ebx
push eax
call fcn.00440a54
pop ecx
cmp eax, dword [ebp - 0x10]
jg 0x416b40
mov eax, dword [esi]
sub eax, ebx
push eax
call fcn.00440a54
mov dword [edi + 4], esi
mov dword [ebp - 0x10], eax
pop ecx
add esi, 0x24
cmp esi, dword [ebp - 8]
jbe 0x416b17
add edi, 0x24
dec dword [ebp - 0x24]
jne 0x416a89
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x28]
jl 0x4168bb
jmp 0x41686c
push str.Too_many_Lines
push 0x4debb0
call fcn.0043ee44
pop ecx
xor eax, eax
jmp 0x4179e8
push str.Too_many_Fields
jmp 0x416b6d
fild dword [0x4815f4]
mov eax, dword [0x4815f4]
push 0
mov dword [0x4c9b8c], eax
fmul qword [0x45ce80]
fadd qword [0x45ce78]
fstp dword [ebp - 0x18]
fld dword [ebp - 0x18]
fmul qword [0x45d248]
call fcn.0043f5b0
push eax
push edi
call fcn.004404fd
mov eax, dword [0x4c9b8c]
mov esi, dword [eax*4 + 0x466280]
push esi
call fcn.0043f481
push esi
mov dword [ebp - 0x10], eax
call fcn.0043f481
push edi
push esi
push 1
push dword [ebp - 0x10]
mov ebx, eax
call fcn.0043e562
fild dword [0x4c9b8c]
add esp, 0x24
push 0
fmul qword [0x45ce80]
fadd qword [0x45ce88]
fstp dword [ebp - 0x18]
fld dword [ebp - 0x18]
fmul qword [0x45d248]
call fcn.0043f5b0
push eax
push edi
call fcn.004404fd
push edi
push esi
push 1
push ebx
call fcn.0043e562
push edi
call fcn.0043e5ec
mov eax, esi
cdq
and edx, 3
add eax, edx
sar eax, 2
add esp, 0x20
test eax, eax
jle 0x416c55
mov esi, dword [ebp - 0x10]
mov edx, 0x48ce80
mov ecx, ebx
sub esi, ebx
fld dword [esi + ecx]
fstp dword [edx - 4]
fld dword [ecx]
add ecx, 4
fstp dword [edx]
add edx, 0x24
dec eax
jne 0x416c42
push dword [ebp - 0x10]
call fcn.0043f0db
push ebx
call fcn.0043f0db
and dword [0x4b3888], 0
pop ecx
pop ecx
mov dword [0x46a0c0], 0x48ce68
call fcn.0041665e
mov edi, 0x4805ac
mov eax, dword [0x46a0c0]
cmp dword [ebp - 0x20], 0xfe
jne 0x416c98
mov eax, dword [0x4e4260]
mov dword [0x46a0c0], eax
mov ecx, dword [eax + 0xc]
mov esi, dword [eax + 8]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [eax + 0x10]
push esi
mov dword [ebp - 0x38], ecx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push 0x20
push edi
mov dword [ebp - 8], esi
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], eax
call fcn.0043ecf0
add esp, 0xc
mov byte [esi + 0x4805ac], 0
call fcn.00415ef4
mov ecx, dword [0x46a0c0]
fld dword [ecx + 0x14]
fld dword [0x452364]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x416cee
push ecx
push edi
call fcn.00416219
pop ecx
pop ecx
cmp dword [ebp - 0x20], 0xfe
je 0x416cfe
and dword [0x47c5dc], 0
and dword [ebp - 0x20], 0
mov eax, dword [ebp - 8]
mov ebx, 0xfe
mov byte [eax + 0x4805ac], 0
cmp dword [ebp - 0x20], ebx
je 0x416d25
cmp dword [0x47c5dc], eax
jl 0x416d25
mov dword [ebp - 0x20], 9
cmp dword [ebp - 0x20], 0
jne 0x417079
mov eax, dword [0x46a0c0]
fld dword [eax + 0x14]
fld dword [eax + 0x18]
fucompp
fnstsw ax
test ah, 0x44
mov eax, 0xb1ff
jp 0x416d4d
mov eax, 0xffff
push eax
push dword [0x4a3454]
call dword [sym.imp.GDI32.dll_SetTextColor]
mov esi, dword [ebp - 0x10]
push edi
push dword [ebp - 0x14]
push esi
call fcn.00415e1e
add esi, dword [0x47c5dc]
add esp, 8
mov dword [ebp - 4], esi
fild dword [ebp - 4]
fmul dword [0x481388]
fstp dword [ebp - 4]
fild dword [ebp - 0x14]
fmul dword [0x49f36c]
fstp dword [ebp - 0xc]
fld dword [ebp - 4]
fstp dword [esp]
call fcn.00401eac
fld dword [ebp - 0xc]
mov dword [0x48b3a8], eax
fstp dword [esp]
call fcn.00401eac
fld dword [ebp - 4]
mov dword [0x48b3ac], eax
fadd dword [0x481388]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp]
call fcn.00401eac
fld dword [ebp - 0xc]
mov dword [0x48b3b0], eax
fadd dword [0x49f36c]
fsub qword [0x45ceb8]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp]
call fcn.00401eac
mov dword [esp], 0x48b3a8
push dword [0x4a3454]
mov dword [0x48b3b4], eax
call dword [sym.imp.USER32.dll_InvertRect]
call fcn.00415f79
cmp eax, ebx
jg 0x416f96
je 0x416e96
cmp eax, 9
jg 0x416e6c
je 0x416e7f
dec eax
je 0x416e7f
sub eax, 4
je 0x416e52
dec eax
je 0x416e7f
dec eax
dec eax
jne 0x416ff8
cmp dword [0x47c5dc], eax
je 0x416d02
dec dword [0x47c5dc]
push dword [ebp - 8]
push dword [0x47c5dc]
push edi
call fcn.004163ed
add esp, 0xc
jmp 0x416d02
push dword [ebp - 8]
push 0x20
push edi
call fcn.0043ecf0
add esp, 0xc
and dword [0x47c5dc], 0
jmp 0x416d02
cmp eax, 0xd
je 0x416e7f
cmp eax, 0x16
je 0x416e8c
cmp eax, 0x1b
jne 0x416ff8
mov eax, dword [0x4b388c]
mov dword [ebp - 0x20], eax
jmp 0x416d02
call fcn.0041665e
jmp 0x416d02
movsx eax, word [0x49e2c4]
mov dword [ebp - 4], eax
fild dword [ebp - 4]
fdiv dword [0x481388]
call fcn.0043f5b0
mov dword [ebp - 4], eax
movsx eax, word [0x49e2c6]
mov dword [ebp - 0xc], eax
fild dword [ebp - 0xc]
fdiv dword [0x49f36c]
call fcn.0043f5b0
mov dword [ebp - 0xc], eax
mov eax, dword [0x4b3888]
shl eax, 4
mov esi, dword [eax + 0x4cd5e0]
sub esi, 0x24
mov ebx, 0x3e8
mov eax, dword [esi + 0x2c]
add esi, 0x24
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [ebp - 4]
sar ecx, 1
sub eax, ecx
sub eax, dword [esi]
push eax
call fcn.00440a54
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xc]
sub eax, dword [esi + 4]
push eax
call fcn.00440a54
pop ecx
pop ecx
cmp eax, ebx
jge 0x416f1c
mov ebx, eax
mov dword [ebp - 0x18], 0x3e8
cmp eax, ebx
jne 0x416f32
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x18]
jge 0x416f32
mov dword [ebp - 0x18], eax
mov eax, esi
mov dword [0x4e4260], eax
jmp 0x416f37
mov eax, dword [0x4e4260]
mov ecx, dword [0x4b3888]
shl ecx, 4
cmp esi, dword [ecx + 0x4cd5e4]
jne 0x416ee2
and dword [0x47c5dc], 0
mov ecx, dword [eax + 4]
cmp dword [ebp - 0xc], ecx
jl 0x416f85
inc ecx
cmp dword [ebp - 0xc], ecx
jg 0x416f85
mov edx, dword [eax]
cmp dword [ebp - 4], edx
jl 0x416f85
mov ecx, dword [eax + 8]
lea esi, [ecx + edx]
cmp dword [ebp - 4], esi
jg 0x416f85
mov esi, dword [ebp - 4]
sub esi, edx
dec ecx
mov dword [0x47c5dc], esi
cmp esi, ecx
jl 0x416f85
mov dword [0x47c5dc], ecx
cmp eax, dword [0x46a0c0]
je 0x416d02
jmp 0x416e7f
mov ecx, 0x126
cmp eax, ecx
jg 0x416fe1
je 0x416e7f
cmp eax, 0x109
je 0x416e7f
cmp eax, 0x120
jle 0x416ff8
cmp eax, 0x122
jle 0x416e7f
cmp eax, 0x125
jne 0x416ff8
cmp dword [0x47c5dc], 0
je 0x416d02
dec dword [0x47c5dc]
jmp 0x416d02
sub eax, 0x127
je 0x41705e
dec eax
je 0x416e7f
sub eax, 6
je 0x416e3b
mov eax, dword [0x4b388c]
cmp eax, 0x20
jne 0x41700b
cmp dword [0x47c5dc], 0
je 0x417052
push eax
call fcn.0043fc77
pop ecx
test eax, eax
je 0x416d02
mov ecx, dword [0x47c5dc]
mov eax, dword [0x4b388c]
mov byte [ecx + 0x4805ac], al
inc ecx
mov dword [0x47c5dc], ecx
cmp eax, 0x20
jne 0x416d02
mov eax, dword [ebp - 8]
sub eax, ecx
push eax
lea eax, [ecx + 0x4805ac]
push 0x20
push eax
call fcn.0043ecf0
add esp, 0xc
mov dword [ebp - 0x20], 9
jmp 0x416d02
mov eax, dword [ebp - 8]
dec eax
cmp dword [0x47c5dc], eax
jge 0x416d02
inc dword [0x47c5dc]
jmp 0x416d02
push 0x2c
push edi
call fcn.0043d2a0
pop ecx
pop ecx
test eax, eax
je 0x41708a
mov byte [eax], 0x2e
push 0x28
lea eax, [ebp - 0x64]
push edi
xor ebx, ebx
push eax
mov dword [ebp - 4], 1
mov dword [ebp - 0xc], ebx
call fcn.0043f120
add esp, 0xc
xor esi, esi
cmp dword [ebp - 8], ebx
jle 0x4170eb
cmp byte [esi + 0x4805ac], 0x20
jg 0x4170bd
inc esi
cmp esi, dword [ebp - 8]
jl 0x4170ac
jmp 0x4170eb
mov dword [ebp - 4], ebx
cmp esi, ebx
je 0x4170eb
mov ebx, dword [ebp - 8]
sub ebx, esi
push ebx
lea eax, [esi + 0x4805ac]
push eax
push edi
call fcn.0043f120
push esi
lea eax, [ebx + 0x4805ac]
push 0x20
push eax
call fcn.0043ecf0
add esp, 0x18
xor ebx, ebx
movsx eax, byte [0x4805ac]
push eax
call fcn.0043fb6d
pop ecx
test eax, eax
je 0x417250
mov eax, dword [0x46a0c0]
mov esi, dword [eax + 0xc]
mov eax, dword [eax + 8]
cmp esi, eax
jg 0x417115
cmp esi, 1
jge 0x417117
mov esi, eax
push edi
call fcn.00440460
fstp qword [ebp - 0x34]
mov eax, dword [0x46a0c0]
fld qword [ebp - 0x34]
mov eax, dword [eax + 8]
push ecx
mov ecx, eax
fstp qword [esp]
sub ecx, esi
push ecx
push eax
push str._.f
push edi
call fcn.0043ee44
mov eax, dword [0x46a0c0]
mov esi, dword [eax + 8]
push edi
call fcn.0043f520
sub eax, esi
add esp, 0x1c
cmp eax, ebx
jle 0x41716f
push esi
lea eax, [eax + 0x4805ac]
push eax
push edi
call fcn.0043f120
add esp, 0xc
mov byte [esi + 0x4805ac], 0
xor esi, esi
cmp dword [ebp - 8], ebx
jle 0x41718a
cmp byte [esi + 0x4805ac], 0x20
jg 0x417187
inc esi
cmp esi, dword [ebp - 8]
jl 0x417176
jmp 0x41718a
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], ebx
jne 0x4171ba
cmp esi, ebx
je 0x4171ba
mov ebx, dword [ebp - 8]
sub ebx, esi
push ebx
lea eax, [esi + 0x4805ac]
push eax
push edi
call fcn.0043f120
push esi
lea eax, [ebx + 0x4805ac]
push 0x20
push eax
call fcn.0043ecf0
add esp, 0x18
xor ebx, ebx
push edi
call fcn.00440460
fld qword [ebp - 0x34]
fucompp
pop ecx
fnstsw ax
test ah, 0x44
jnp 0x417293
mov eax, dword [0x46a0c0]
fld dword [eax + 0x14]
mov dword [ebp - 0xc], 1
fld dword [eax + 0x18]
fucompp
fnstsw ax
test ah, 0x44
mov eax, 0xb1ff
jp 0x4171f6
mov eax, 0xffff
push eax
push dword [0x4a3454]
call dword [sym.imp.GDI32.dll_SetTextColor]
lea eax, [ebp - 0x64]
push eax
push dword [ebp - 0x14]
push dword [ebp - 0x10]
call fcn.00415e1e
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0xf0]
push str.__s___Is__Too__Big.
push eax
call fcn.0043ee44
lea eax, [ebp - 0xf0]
push eax
call fcn.00415d59
fld dword [0x452364]
mov eax, dword [0x46a0c0]
fstp dword [eax + 0x14]
push 0x28
lea eax, [ebp - 0x64]
push eax
push edi
call fcn.0043f120
add esp, 0x28
cmp dword [ebp - 4], ebx
jne 0x41790b
cmp dword [ebp - 0xc], ebx
jne 0x416cee
fld dword [0x452364]
mov eax, dword [0x46a0c0]
or esi, 0xffffffff
fstp dword [eax + 0x14]
mov dword [ebp - 0xc], esi
xor ebx, ebx
push dword [ebx*4 + 0x4661a0]
push edi
call fcn.00450634
pop ecx
pop ecx
test eax, eax
je 0x417298
inc ebx
cmp ebx, 0x38
jl 0x417278
jmp 0x41729d
mov dword [ebp - 0xc], ebx
jmp 0x417250
mov esi, ebx
mov dword [ebp - 0xc], ebx
mov eax, dword [ebp - 0x38]
cmp eax, 0x17
ja case.0x4172a9.19
jmp dword [eax*4 + 0x417b12]
cmp esi, 6
ja 0x4172bd
fild dword [ebp - 0xc]
jmp 0x4177f3
push str._This_entry_must_be_BL__ST__BD__TX__MB__SV__or_SF
call fcn.00415d59
jmp 0x416ced
lea eax, [esi - 0xa]
cmp eax, 5
ja 0x4172fb
fild dword [ebp - 0xc]
mov eax, dword [0x46a0c0]
fstp dword [eax + 0x14]
cmp esi, 0xd
jne case.0x4172a9.19
fld dword [0x45cf2c]
mov eax, dword [0x46a0c0]
fstp dword [eax + 0x5c]
jmp case.0x4172a9.19
push str._This_entry_must_be:_FRB__CDS__HFF__HFV__PTD_or_HFR
jmp 0x4172c2
add esi, 0xffffffec
cmp esi, 3
jbe 0x4172b5
push str._This_entry_must_be:_RE__CO__MO__or_EX
jmp 0x4172c2
cmp esi, 0x1e
jne 0x417321
fld dword [0x45d04c]
jmp 0x4177f3
push str._This_entry_must_be:_X_or_Blank
jmp 0x4172c2
add esi, 0xffffffde
cmp esi, 1
jbe 0x4172b5
push str._This_entry_must_be:_F_or_V
jmp 0x4172c2
add esi, 0xffffffe0
cmp esi, 1
jbe 0x4172b5
push str._This_entry_must_be:_I_or_C
jmp 0x4172c2
add esi, 0xffffffd8
cmp esi, 0xf
jbe 0x4172b5
push str._Use:_NCC_NCT_MMC_MMT_SBC_SBT_TFC_CON_CRE_MFR_RMF_RMV_CHE_CPL_CCC_CIL
jmp 0x4172c2
push edi
call fcn.00440460
fstp dword [ebp - 0x30]
mov esi, dword [0x46a0c0]
fld dword [esi - 0x34]
pop ecx
call fcn.0043f5b0
fldz
fld dword [ebp - 0x30]
mov ecx, eax
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x417399
fstp st(0)
push str._The_entry_must_be_a_number
jmp 0x4172c2
fcom qword [0x45cfe0]
fnstsw ax
test ah, 0x41
jne 0x4173b2
fstp st(0)
push str._Maturity_must_be_120_quarters_or_less
jmp 0x4172c2
test ecx, ecx
jne 0x4173d5
fld dword [0x45cf2c]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x41753f
fstp st(0)
push str._Bill_maturities_must_be_4_quarters_or_less
jmp 0x4172c2
cmp ecx, 5
je 0x4173e3
cmp ecx, 6
jne 0x41753f
fld dword [0x45d018]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x417405
fld dword [0x45d298]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x41753f
fstp st(0)
push str._Swaps_maturities_must_be_between_2_and_80_quarters
jmp 0x4172c2
fld dword [0x45d294]
push ecx
push ecx
fstp dword [esp + 4]
fldz
fstp dword [esp]
push edi
call fcn.00416156
add esp, 0xc
jmp 0x4177f3
fld dword [0x45d290]
push ecx
push ecx
fstp dword [esp + 4]
fld dword [0x45d28c]
jmp 0x41741f
fld dword [0x45d288]
jmp 0x417417
fld dword [0x45d284]
jmp 0x417417
fld dword [0x45d280]
push ecx
push ecx
fstp dword [esp + 4]
fld dword [0x45d048]
jmp 0x41741f
fld dword [0x45d27c]
push ecx
push ecx
fstp dword [esp + 4]
fld1
jmp 0x41741f
fld dword [0x45d018]
jmp 0x417417
fld dword [0x45d04c]
push ecx
push ecx
fstp dword [esp + 4]
fld dword [0x45d040]
jmp 0x41741f
fld dword [0x45d278]
jmp 0x417417
fld dword [0x45d054]
jmp 0x417417
push edi
call fcn.00440460
fstp dword [ebp - 0x30]
mov esi, dword [0x46a0c0]
fld dword [esi - 0x34]
pop ecx
call fcn.0043f5b0
fld dword [ebp - 0x30]
cmp eax, 0xf
jne 0x4174f2
fcom qword [0x45d270]
fnstsw ax
test ah, 5
jnp 0x4174e6
fld dword [0x45d268]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x41753f
fstp st(0)
push str._HFR_ID_Code_must_be_between_501_and_540.
jmp 0x4172c2
cmp eax, 0xc
jne 0x41751d
fld1
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x417511
fld dword [0x45d298]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x41753f
fstp st(0)
push str._HFF_maturities_must_be_between_1_and_80_quarters.
jmp 0x4172c2
cmp eax, 0xd
jne 0x41753f
fld st(0)
fld dword [0x45cf2c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x41753f
fstp st(0)
push str._The_HFV_maturity_must_be_Exactly_4_quarters.
jmp 0x4172c2
fstp dword [esi + 0x14]
jmp case.0x4172a9.19
push edi
call fcn.00440460
fstp dword [ebp - 4]
fldz
pop ecx
fcomp dword [ebp - 4]
fnstsw ax
test ah, 0x41
jne 0x4177f0
push 0x45c090
push 0x4a3294
call fcn.0043ea47
push 0
mov esi, eax
push 0x7800
push esi
call fcn.004404fd
push esi
push 4
lea eax, [ebp - 0x2c]
push 1
push eax
call fcn.0043e562
push esi
call fcn.0043e5ec
fld dword [ebp - 0x2c]
fmul qword [0x45cf08]
add esp, 0x28
fstp dword [ebp - 0x2c]
fld dword [ebp - 0x2c]
fadd dword [ebp - 4]
fld qword [0x45d260]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x4177ee
fldz
sub esp, 0x18
fstp qword [esp + 0x10]
fld qword [0x45d258]
fstp qword [esp + 8]
fsub dword [ebp - 0x2c]
fstp qword [esp]
call fcn.004012ac
add esp, 0x10
fstp qword [esp]
push str._4.0f_is_the_Largest_Sale_allowed.__For_this_Banks_Urban_Branches._
jmp 0x4177ce
push edi
call fcn.00440460
fstp dword [ebp - 4]
fldz
pop ecx
fcomp dword [ebp - 4]
fnstsw ax
test ah, 0x41
jne 0x4177f0
push 0x45c094
push 0x4a3294
call fcn.0043ea47
push 0
mov esi, eax
push 0x7804
push esi
call fcn.004404fd
push esi
push 4
lea eax, [ebp - 0x28]
push 1
push eax
call fcn.0043e562
push esi
call fcn.0043e5ec
fld dword [ebp - 0x28]
fmul qword [0x45cf08]
add esp, 0x28
fstp dword [ebp - 0x28]
fld dword [ebp - 0x28]
fadd dword [ebp - 4]
fld qword [0x45d250]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x4177ee
fldz
sub esp, 0x18
fstp qword [esp + 0x10]
fld qword [0x45d258]
fstp qword [esp + 8]
fsub dword [ebp - 0x28]
fstp qword [esp]
call fcn.004012ac
add esp, 0x10
fstp qword [esp]
push str._4.0f_is_the_Largest_Sale_allowed.__For_this_Banks_Regional_Branches._
jmp 0x4177ce
push edi
call fcn.00440460
fstp dword [ebp - 4]
fldz
pop ecx
fcomp dword [ebp - 4]
fnstsw ax
test ah, 0x41
jne 0x4177f0
push 0x45c128
push 0x4a3294
call fcn.0043ea47
push 0
mov esi, eax
push 0x7808
push esi
call fcn.004404fd
push esi
push 4
lea eax, [ebp - 0x24]
push 1
push eax
call fcn.0043e562
push esi
call fcn.0043e5ec
fld dword [ebp - 0x24]
fmul qword [0x45cf08]
add esp, 0x28
fstp dword [ebp - 0x24]
fld dword [ebp - 0x24]
fadd dword [ebp - 4]
fld qword [0x45d260]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x4177ee
fldz
sub esp, 0x18
fstp qword [esp + 0x10]
fld qword [0x45d258]
fstp qword [esp + 8]
fsub dword [ebp - 0x24]
fstp qword [esp]
call fcn.004012ac
add esp, 0x10
fstp qword [esp]
push str._4.0f_is_the_Largest_Sale_allowed.__For_this_Banks_Suburban_Branches._
jmp 0x4177ce
push edi
call fcn.00440460
fstp dword [ebp - 4]
fldz
pop ecx
fcomp dword [ebp - 4]
fnstsw ax
test ah, 0x41
jne 0x4177f0
push 0x45c12c
push 0x4a3294
call fcn.0043ea47
push 0
mov esi, eax
push 0x780c
push esi
call fcn.004404fd
push esi
push 4
lea eax, [ebp - 0x1c]
push 1
push eax
call fcn.0043e562
push esi
call fcn.0043e5ec
fld dword [ebp - 0x1c]
fmul qword [0x45cf08]
add esp, 0x28
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x1c]
fadd dword [ebp - 4]
fld qword [0x45d250]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x4177ee
fldz
sub esp, 0x18
fstp qword [esp + 0x10]
fld qword [0x45d258]
fstp qword [esp + 8]
fsub dword [ebp - 0x1c]
fstp qword [esp]
call fcn.004012ac
add esp, 0x10
fstp qword [esp]
push str._4.0f_is_the_Largest_Sale_allowed.__For_this_Banks_Admin___Ops._
lea eax, [ebp - 0x8c]
push eax
call fcn.0043ee44
lea eax, [ebp - 0x8c]
push eax
call fcn.00415d59
add esp, 0x14
jmp 0x416cee
fstp st(0)
fld dword [ebp - 4]
mov eax, dword [0x46a0c0]
fstp dword [eax + 0x14]
mov eax, dword [0x46a0c0]
fld dword [eax + 0x14]
fld dword [0x452364]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x416cee
call fcn.00415ec7
push dword [0x46a0c0]
push edi
call fcn.00416219
mov eax, dword [0x46a0c0]
fld dword [eax + 0x14]
pop ecx
fld dword [eax + 0x18]
pop ecx
fucompp
fnstsw ax
test ah, 0x44
mov eax, 0xb1ff
jp 0x417847
mov eax, 0xffff
push eax
push dword [0x4a3454]
call dword [sym.imp.GDI32.dll_SetTextColor]
push edi
push dword [ebp - 0x14]
push dword [ebp - 0x10]
call fcn.00415e1e
add esp, 0xc
xor ebx, ebx
mov ecx, dword [ebp - 0x20]
mov eax, 0x109
cmp ecx, eax
jg 0x417a74
je 0x417a52
mov eax, ecx
dec eax
je 0x4178a0
sub eax, 5
je 0x4178a0
sub eax, 3
je 0x41797f
sub eax, 4
je 0x41797f
sub eax, 0xe
jne 0x416c80
cmp ecx, 6
je 0x4178b8
push str.Exit_Without_Saving__Y_N__
call fcn.00416101
pop ecx
test eax, eax
jne 0x417b09
push str.Write_decision_to_file_and_EXIT__Y_N__
call fcn.00416101
pop ecx
test eax, eax
je 0x416c80
mov eax, dword [0x4815f4]
sub eax, ebx
je 0x4179f4
dec eax
je 0x4179ee
sub eax, 5
jne 0x4179e2
push 2
push 0x34
push 0x33
call fcn.0041641a
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
jne 0x417a08
push 3
push 0x2f
push ebx
jmp 0x4179d3
push dword [ebp - 8]
fld dword [0x452364]
mov eax, dword [0x46a0c0]
push 0x5f
fstp dword [eax + 0x14]
push edi
call fcn.0043ecf0
mov eax, dword [ebp - 0x3c]
add esp, 0xc
cmp eax, 1
jl 0x41793b
cmp eax, dword [ebp - 8]
jge 0x41793b
mov byte [eax + 0x4805ab], 0x2e
call fcn.00415ec7
mov eax, dword [0x46a0c0]
fld dword [eax + 0x14]
fld dword [eax + 0x18]
fucompp
fnstsw ax
test ah, 0x44
mov eax, 0xb1ff
jp 0x41795e
mov eax, 0xffff
push eax
push dword [0x4a3454]
call dword [sym.imp.GDI32.dll_SetTextColor]
push edi
push dword [ebp - 0x14]
push dword [ebp - 0x10]
call fcn.00415e1e
add esp, 0xc
jmp 0x417865
mov ecx, dword [0x4b3888]
mov eax, dword [0x46a0c0]
shl ecx, 4
cmp eax, dword [ecx + 0x4cd5e4]
jae 0x416c85
add eax, 0x24
mov dword [0x46a0c0], eax
jmp 0x416c85
mov eax, esi
push 3
cdq
pop ecx
idiv ecx
cmp edx, 2
jne 0x417a03
lea eax, [esi - 2]
imul eax, eax, 0x24
fld dword [eax + 0x48ce7c]
fld dword [0x45d0b8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x417a03
push ecx
push 0x2f
inc esi
push esi
call fcn.0041641a
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
jne 0x4179a6
push ebx
call fcn.004164d8
pop ecx
pop edi
pop esi
pop ebx
leave
ret
push 2
push 0x25
jmp 0x4179f8
push 3
push 0x38
push ebx
call fcn.0041641a
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x4179e2
push str.A_Required_Entry_Is_Missing._nClick_Ok_to_Go_There.
call fcn.00415d59
imul esi, esi, 0x24
mov eax, dword [0x4e2e34]
add esi, 0x48ce68
xor edx, edx
pop ecx
mov dword [0x46a0c0], esi
cmp eax, ebx
jle 0x417aef
mov ecx, 0x4cd5e0
cmp esi, dword [ecx + 4]
ja 0x417a45
cmp esi, dword [ecx]
jb 0x417a45
mov dword [0x4b3888], edx
inc edx
add ecx, 0x10
cmp edx, eax
jl 0x417a36
jmp 0x417aef
mov ecx, dword [0x4b3888]
mov eax, dword [0x46a0c0]
shl ecx, 4
cmp eax, dword [ecx + 0x4cd5e0]
jbe 0x416c85
sub eax, 0x24
jmp 0x41799c
mov eax, ecx
sub eax, 0x121
je 0x417af9
dec eax
je 0x417ac7
sub eax, 4
je 0x417abd
dec eax
dec eax
jne 0x416c80
mov eax, dword [0x46a0c0]
mov edx, dword [eax + 0x20]
mov ecx, dword [0x4b3888]
shl ecx, 4
cmp edx, dword [ecx + 0x4cd5e4]
ja 0x416c85
cmp edx, dword [ecx + 0x4cd5e0]
jb 0x416c85
mov eax, edx
jmp 0x41799c
mov eax, dword [0x46a0c0]
mov edx, dword [eax + 0x1c]
jmp 0x417a95
mov ecx, dword [0x4e2e34]
mov eax, dword [0x4b3888]
dec ecx
cmp eax, ecx
jge 0x416c80
inc eax
mov dword [0x4b3888], eax
shl eax, 4
mov eax, dword [eax + 0x4cd5e0]
mov dword [0x46a0c0], eax
call fcn.0041665e
jmp 0x416c80
mov eax, dword [0x4b3888]
cmp eax, ebx
jle 0x416c80
dec eax
jmp 0x417adc
push 1
jmp 0x4179e3