Function at 0x401a40
Capabilities:
Create directory
Create process on windows
Schedule task via at
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xa78
cmp dword [ebp + 8], 7
push esi
push edi
jge 0x401a5f
mov eax, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0x41dab4
call fcn.004049d9
movdqu xmm0, xmmword [str.http:__database.rish.kyoto_u.ac.jp_arch_jmadata_data_gpv_original]
mov ax, word [0x41d890]
add esp, 4
mov dword [esp + 0x28], 1
movdqu xmmword [esp + 0x100], xmm0
mov dword [esp + 0x3c], 0xe
movdqu xmm0, xmmword [0x41d860]
push 0x11b2
mov dword [esp + 0x44], 0x1b
movdqu xmmword [esp + 0x114], xmm0
mov word [esp + 0x144], ax
movdqu xmm0, xmmword [0x41d870]
movdqu xmmword [esp + 0x124], xmm0
movdqu xmm0, xmmword [0x41d880]
movdqu xmmword [esp + 0x134], xmm0
call fcn.00403e08
mov ecx, dword [ebp + 0xc]
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
mov esi, 0x422a34
mov edx, dword [ecx + 4]
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [esi], cl
lea esi, [esi + 1]
test cl, cl
jne 0x401af4
mov esi, dword [ebp + 0xc]
mov edx, 0x422a30
mov ecx, dword [esi + 8]
lea ecx, [ecx]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x401b10
mov ecx, dword [esi + 0xc]
mov edx, 0x422a2c
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x401b26
mov eax, dword [esi + 0x10]
push dword [esi + 0x14]
mov dword [0x422870], eax
call fcn.004041d6
mov edx, dword [esi + 0x18]
add esp, 4
mov dword [esp + 0x1c], eax
mov esi, 0x42286c
mov cl, byte [edx]
lea esi, [esi + 1]
inc edx
mov byte [esi - 1], cl
test cl, cl
jne 0x401b53
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x1c]
cmp byte [eax], 0x54
sete byte [0x422833]
cmp dword [ebp + 8], 8
jle 0x401bbf
mov eax, dword [ecx + 0x20]
mov esi, dword [ecx + 0x24]
mov ecx, esi
mov dword [esp + 0x34], eax
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401ba2
test dl, dl
je 0x401b9e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401ba2
add eax, 2
add ecx, 2
test dl, dl
jne 0x401b82
xor eax, eax
jmp 0x401ba7
sbb eax, eax
or eax, 1
test eax, eax
jle 0x401bb1
mov dword [esp + 0x24], esi
jmp 0x401bcf
mov eax, dword [esp + 0x34]
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], esi
jmp 0x401bcf
mov eax, dword [esp + 0x38]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x34], eax
call fcn.004012f0
mov ecx, dword [esp + 0x1c]
cmp ecx, 0x21
je 0x401c0e
cmp ecx, 0x27
je 0x401c0e
cmp ecx, 0x138
jne 0x401bf1
mov eax, str.gsmWten.ini
jmp 0x401c13
cmp ecx, 8
jne 0x401bfd
mov eax, str.EPSWten.ini
jmp 0x401c13
test ecx, ecx
mov eax, str.gsmKten.ini
mov edx, str.gsmten.ini
cmovne eax, edx
jmp 0x401c13
mov eax, str.msmten.ini
push eax
lea eax, [esp + 0x64]
push str.INI__s
push eax
call fcn.0040408b
add esp, 0xc
mov dword [esp + 0x2c], 0
lea eax, [esp + 0x60]
mov dword [esp + 0x20], 0xffffffff
push 0x41d89c
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.004042b7
add esp, 0xc
test eax, eax
jne 0x4029f1
mov eax, dword [esp + 0x14]
push eax
push 0x98
push edi
mov dword [esp + 0x3c], eax
call fcn.004044f1
add esp, 0xc
test eax, eax
je 0x401dc4
lea esi, [edi + 0x100]
mov edi, 0x422a50
sub edi, dword [esp + 0x18]
lea ecx, [esi - 0x100]
mov edx, ecx
lea eax, [edx + 1]
mov dword [esp + 0x14], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x401c92
sub edx, dword [esp + 0x14]
mov byte [ecx + edx - 1], al
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edi + ecx - 1], al
test al, al
jne 0x401ca1
push 0x422e50
push 0x41d934
push 0x422a50
call fcn.00404b2e
mov edx, esi
add esp, 0xc
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax - 1], cl
test cl, cl
jne 0x401cd0
cmp byte [esi], 0x2d
je 0x401d92
push 0x422e50
push 0x41d934
push 0
call fcn.00404b2e
mov edx, esi
add esp, 0xc
sub edx, eax
mov edi, edi
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax + 0x1b], cl
test cl, cl
jne 0x401d00
push 0x422e50
push 0x41d934
push 0
call fcn.00404b2e
mov edx, esi
add esp, 0xc
sub edx, eax
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax + 0x24], cl
test cl, cl
jne 0x401d25
push 0x422e50
push 0x41d934
push 0
call fcn.00404b2e
mov edx, esi
add esp, 0xc
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax - 0x69], cl
test cl, cl
jne 0x401d50
push 0x422e50
push 0x41d934
push 0
call fcn.00404b2e
mov edx, esi
add esp, 0xc
sub edx, eax
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax - 0x35], cl
test cl, cl
jne 0x401d75
inc dword [esp + 0x20]
sub edi, 0x12e
add esi, 0x12e
mov eax, dword [esp + 0x2c]
cmp eax, 0xe
je 0x401dc0
push dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
lea eax, [esi - 0x100]
push 0x98
push eax
call fcn.004044f1
add esp, 0xc
test eax, eax
jne 0x401c83
mov edi, dword [esp + 0x18]
push dword [esp + 0x30]
call fcn.0040447a
add esp, 4
push dword [0x422a28]
push str._s_danmen
push 0x422840
call fcn.0040408b
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov byte [esp + 0x518], 0
test eax, eax
js 0x401eaf
lea esi, [edi + 0x125]
inc eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x14], eax
jmp 0x401e10
lea eax, [esi - 0x25]
push eax
push 0x422840
lea eax, [esp + 0x68]
push str._s__s
push eax
call fcn.0040408b
lea eax, [esp + 0x70]
push 0
push eax
call fcn.00405848
add esp, 0x18
cmp eax, 2
jne 0x401e49
lea eax, [esp + 0x60]
push eax
call fcn.00404edd
add esp, 4
push esi
lea eax, [esi - 9]
push eax
lea eax, [esp + 0x160]
push str._lon__s__s
push eax
call fcn.0040408b
lea edx, [esp + 0x168]
add esp, 0x10
mov esi, edx
lea esp, [esp]
mov al, byte [edx]
inc edx
test al, al
jne 0x401e70
lea edi, [esp + 0x518]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x401e81
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x2c]
add esi, 0x12e
dec dword [esp + 0x14]
mov dword [esp + 0x2c], esi
jne 0x401e10
push 0x422a2c
push 0x422a30
push 0x422a34
push str._s__s__s
push 0x422a18
call fcn.0040408b
add esp, 0x14
push dword [0x422870]
push 0x422a2c
push 0x422a30
push 0x422a34
push str._s_s_s_s
push 0x422828
call fcn.0040408b
push 0x41d898
lea eax, [esp + 0x4c]
push 0x41db30
push eax
call fcn.004042b7
add esp, 0x24
push dword [esp + 0x30]
call fcn.0040447a
mov edi, dword [esp + 0x20]
add esp, 4
cmp edi, 0x21
je 0x402548
cmp edi, 0x27
je 0x402548
cmp edi, 8
je 0x402342
mov dword [0x422868], str.gsmALL
mov byte [0x42286c], 0
mov byte [0x422834], 0
cmp edi, 0x138
jne 0x402199
push 0x41dc28
call fcn.004049d9
add esp, 4
lea eax, [esp + 0x60]
push 0x422828
push str.Z__C_RJTD__s0000_GSM_GPV_Rgl_FD0
push eax
call fcn.0040408b
add esp, 0xc
xor edi, edi
xor esi, esi
cmp edi, 3
jne 0x401f90
cmp esi, 0x12
je 0x402137
imul eax, edi, 0x64
add eax, esi
push eax
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x2a8]
push str._s_03d_grib2.bin
push eax
call fcn.0040408b
lea eax, [esp + 0x2b0]
push eax
push dword [0x4228d0]
lea eax, [esp + 0x3d0]
push str._s__s
push eax
call fcn.0040408b
lea eax, [esp + 0x3d8]
push 0
push eax
call fcn.00405848
add esp, 0x28
cmp eax, 2
jne 0x4020ab
push str.GPV_DownLoad
call fcn.004049d9
add esp, 4
lea eax, [esp + 0x2a0]
push eax
push 0x422a18
lea eax, [esp + 0x108]
push eax
push dword [0x4228d0]
lea eax, [esp + 0x690]
push 0x422a3c
push dword [0x422880]
push str._swget.exe__s__P__s__s__s__s
push eax
call fcn.0040408b
push 0x44
lea eax, [esp + 0x4f4]
push 0
push eax
call fcn.004072f0
add esp, 0x2c
mov dword [esp + 0x4d0], 0x44
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x4d4]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [esp + 0x6a0]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x402a08
mov eax, dword [esp + 0x3c]
push dword [esp + 0x40]
mov dword [esp + 0x2c], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x402a08
push 0xffffffffffffffff
push dword [esp + 0x2c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x402a08
lea eax, [esp + 0x3b8]
push eax
push dword [0x42287c]
lea eax, [esp + 0x688]
push str._swgrib2.exe__s_NUL
push eax
call fcn.0040408b
lea eax, [esp + 0x690]
push eax
call fcn.00404d4b
add esp, 0x14
test eax, eax
jne 0x40218d
lea eax, [esp + 0x518]
push eax
lea eax, [esp + 0x3bc]
push eax
push dword [0x42287c]
lea eax, [esp + 0x68c]
push str._swgrib2.exe__s__s__a0
push eax
call fcn.0040408b
add esp, 0x14
lea eax, [esp + 0x680]
push eax
call fcn.00404d4b
add esp, 4
push 0x41df5c
call fcn.004049d9
add esi, 6
add esp, 4
cmp esi, 0x12
jle 0x401f82
inc edi
cmp edi, 3
jle 0x401f80
call fcn.00402f80
mov ax, word [0x41dc80]
mov ecx, 0x138
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov word [0x42283c], ax
mov al, byte [0x41dc82]
push edi
mov byte [0x42283e], al
push str.GSMWtopo.txt
call fcn.00402a30
add esp, 8
push edi
call fcn.00403ead
add esp, 4
call fcn.00401760
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x2a0]
jmp 0x402a0f
test edi, edi
jle 0x40274b
push edi
push 0x41dc94
call fcn.00404645
push 0x422828
lea eax, [esp + 0x6c]
push str.Z__C_RJTD__s0000_GSM_GPV_Rjp_
push eax
call fcn.0040408b
mov eax, dword [str.1656]
add esp, 0x14
mov dword [esp + 0x3c], eax
mov al, byte [0x41dce0]
mov byte [esp + 0x40], al
lea eax, [esp + 0x60]
push str._FD0000_0312_grib2.bin
push eax
lea eax, [esp + 0x178]
mov dword [esp + 0x49], 0x323236
push str._sL_pall_s
push eax
mov byte [esp + 0x55], 0
call fcn.0040408b
push str._FD0000_0312_grib2.bin
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x21e]
push str._sLsurf_s
push eax
call fcn.0040408b
add esp, 0x20
lea esi, [esp + 0x170]
mov edi, 2
lea esp, [esp]
xor edx, edx
mov ecx, esi
call fcn.00401630
add esi, 0x96
dec edi
jne 0x402230
cmp dword [esp + 0x1c], 0x54
lea esi, [esp + 0x170]
jne 0x4022ae
mov edi, 2
lea eax, [esp + 0x518]
push eax
push esi
push dword [0x4228d0]
lea eax, [esp + 0x68c]
push dword [0x42287c]
push str._swgrib2.exe__s__s__s___a0
push eax
call fcn.0040408b
lea eax, [esp + 0x698]
push eax
call fcn.00404d4b
add esp, 0x1c
push 0x41df5c
call fcn.004049d9
add esp, 4
add esi, 0x96
dec edi
jne 0x402255
mov dword [0x42283c], 0x34382d
jmp 0x40231e
lea edi, [esp + 0x3c]
mov dword [esp + 0x14], 2
lea ebx, [ebx]
lea eax, [esp + 0x518]
push eax
push edi
push esi
push dword [0x4228d0]
lea eax, [esp + 0x690]
push dword [0x42287c]
push str._swgrib2.exe__s__s__for_n__1:_s___s__a0
push eax
call fcn.0040408b
add esp, 0x1c
lea eax, [esp + 0x680]
push eax
call fcn.00404d4b
add esp, 4
push 0x41df5c
call fcn.004049d9
add esp, 4
add edi, 5
add esi, 0x96
dec dword [esp + 0x14]
jne 0x4022c0
mov byte [0x42283c], 0
call fcn.00402f80
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push edi
push str.GSMtopo.txt
call fcn.00402a30
add esp, 8
jmp 0x40274f
push 0x41db3c
call fcn.004049d9
add esp, 4
mov dword [0x422868], 0x41db48
push 0x42286c
call fcn.004041d6
add esp, 4
push 0x42286c
push str._M_s
push 0x422834
call fcn.0040408b
add esp, 0xc
lea eax, [esp + 0x60]
push 0x42286c
push 0x41db58
push eax
call fcn.0040408b
add esp, 0xc
xor ecx, ecx
jmp 0x4023a0
mov al, byte [esp + ecx + 0x60]
lea ecx, [ecx + 1]
mov byte [ecx + 0x42286b], al
test al, al
jne 0x4023a0
push 0x422828
lea eax, [esp + 0x64]
push str.Z__C_RJTD__s0000_EPSW_GPV_Rjp_FD00_08_grib2.bin
push eax
call fcn.0040408b
add esp, 0xc
lea eax, [esp + 0x60]
push eax
push dword [0x4228d0]
lea eax, [esp + 0x2a8]
push str._s__s
push eax
call fcn.0040408b
lea eax, [esp + 0x2b0]
push 0
push eax
call fcn.00405848
add esp, 0x18
cmp eax, 2
jne 0x40245d
push str.GPV_DownLoad
call fcn.004049d9
add esp, 4
lea eax, [esp + 0x60]
push eax
push 0x422a18
lea eax, [esp + 0x108]
push eax
push dword [0x4228d0]
lea eax, [esp + 0x3c8]
push 0x422a3c
push dword [0x422880]
push str._swget.exe__s__P__s__s__s__s
push eax
call fcn.0040408b
add esp, 0x20
lea ecx, [esp + 0x3b8]
call fcn.004019d0
test eax, eax
je 0x40245d
lea eax, [esp + 0x2a0]
jmp 0x402a0f
lea eax, [esp + 0x2a0]
push eax
push dword [0x42287c]
lea eax, [esp + 0x3c0]
push str._swgrib2.exe__s_NUL
push eax
call fcn.0040408b
lea eax, [esp + 0x3c8]
push eax
call fcn.00404d4b
add esp, 0x14
test eax, eax
je 0x40249d
lea eax, [esp + 0x3b8]
jmp 0x402a0f
xor edi, edi
nop
mov esi, dword [esp + edi*4 + 0x3c]
push esi
push 0x41dbc4
call fcn.00404645
imul esi, esi, 0x2f6
lea eax, [esp + 0x2a8]
push esi
push dword [esp + 0x34]
push eax
push dword [0x42287c]
lea eax, [esp + 0x3d0]
push str._swgrib2.exe__s__for_n___d:_d:1___grib_a.grb_NUL
push eax
call fcn.0040408b
lea eax, [esp + 0x3d8]
push eax
call fcn.00404d4b
add esp, 0x24
lea eax, [esp + 0x518]
push eax
push dword [0x42287c]
lea eax, [esp + 0x688]
push str._swgrib2.exe_a.grb__s__a0
push eax
call fcn.0040408b
lea eax, [esp + 0x690]
push eax
call fcn.00404d4b
inc edi
lea eax, [esi + 1]
add esp, 0x14
mov dword [esp + 0x28], eax
cmp edi, 1
jle 0x4024a0
call fcn.00402f80
mov edi, dword [esp + 0x18]
mov ecx, 8
mov edx, dword [esp + 0x20]
push edi
push str.EPSWtopo.txt
jmp 0x40216f
push edi
push 0x41dd50
call fcn.00404645
push 0x422828
lea eax, [esp + 0x6c]
mov byte [0x42286c], 0
push str.Z__C_RJTD__s0000_MSM_GPV_Rjp_
push eax
mov dword [0x422868], 0x41dd60
call fcn.0040408b
movdqu xmm0, xmmword [str.L_pall_FH00_15_grib2.bin]
movzx eax, byte [0x41dda0]
lea edi, [esp + 0x184]
mov byte [esp + 0x19c], al
add esp, 0x14
movdqu xmmword [esp + 0x170], xmm0
xor esi, esi
movzx eax, byte [0x41ddbc]
movq xmm0, qword [0x41dd98]
movq qword [esp + 0x180], xmm0
movdqu xmm0, xmmword [str.L_pall_FH18_33_grib2.bin]
mov byte [esp + 0x1a1], al
movzx eax, byte [0x41ddd8]
movdqu xmmword [esp + 0x189], xmm0
mov byte [esp + 0x1ba], al
movq xmm0, qword [0x41ddb4]
movq qword [esp + 0x199], xmm0
movdqu xmm0, xmmword [str.L_pall_FH36_39_grib2.bin]
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x1d3], 0
movdqu xmmword [esp + 0x1a2], xmm0
mov byte [esp + 0x1ec], 0
movq xmm0, qword [0x41ddd0]
movq qword [esp + 0x1b2], xmm0
movdqu xmm0, xmmword [str.Lsurf_FH00_15_grib2.bin]
mov byte [esp + 0x205], 0
movdqu xmmword [esp + 0x1bb], xmm0
movq xmm0, qword [0x41ddec]
movq qword [esp + 0x1cb], xmm0
movdqu xmm0, xmmword [str.Lsurf_FH16_33_grib2.bin]
movdqu xmmword [esp + 0x1d4], xmm0
movq xmm0, qword [0x41de04]
movq qword [esp + 0x1e4], xmm0
movdqu xmm0, xmmword [str.Lsurf_FH34_39_grib2.bin]
movdqu xmmword [esp + 0x1ed], xmm0
movq xmm0, qword [0x41de1c]
movq qword [esp + 0x1fd], xmm0
cmp eax, 0x21
jne 0x4026a5
cmp esi, 2
je 0x40271d
cmp esi, 5
je 0x40271d
push edi
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x2a8]
push str._s_s
push eax
call fcn.0040408b
mov edx, 1
lea ecx, [esp + 0x2b0]
call fcn.00401630
lea eax, [esp + 0x528]
push eax
lea eax, [esp + 0x2b4]
push eax
push dword [0x4228d0]
lea eax, [esp + 0x69c]
push dword [0x42287c]
push str._swgrib2.exe__s__s__s___a0
push eax
call fcn.0040408b
lea eax, [esp + 0x6a8]
push eax
call fcn.00404d4b
add esp, 0x2c
push 0x41df5c
call fcn.004049d9
mov eax, dword [esp + 0x20]
add esp, 4
inc esi
add edi, 0x19
cmp esi, 5
jle 0x402696
call fcn.00402f80
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push edi
push str.MSMtopo.txt
call fcn.00402a30
add esp, 8
jmp 0x40274f
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x1c], 0
jne 0x402177
push 0x41de38
call fcn.004049d9
add esp, 4
lea eax, [esp + 0x60]
push 0x422828
push str.Z__C_RJTD__s0000_GSM_GPV_Rjp_
push eax
call fcn.0040408b
add esp, 0xc
lea eax, [esp + 0x60]
push str._FD0000_0312_grib2.bin
push eax
lea eax, [esp + 0x2a8]
push str._sL_pall_s
push eax
call fcn.0040408b
xor edx, edx
lea ecx, [esp + 0x2b0]
call fcn.00401630
push dword [esp + 0x34]
call fcn.004041d6
add esp, 0x14
mov esi, eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x24], esi
push eax
call fcn.004041d6
add esp, 4
cmp esi, eax
jg 0x402177
test esi, esi
jne 0x4027e7
mov eax, dword [str.:anl]
mov dword [esp + 0x4c], eax
mov al, byte [0x41de48]
mov byte [esp + 0x50], al
jmp 0x4027fa
push esi
lea eax, [esp + 0x50]
push str.:_d_hour
push eax
call fcn.0040408b
add esp, 0xc
cmp dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
jl 0x4029d4
lea eax, [edi + 0x100]
lea ecx, [edi + 0x98]
mov dword [esp + 0x14], eax
mov dword [esp + 0x2c], ecx
mov eax, 0x41de58
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x402846
test dl, dl
je 0x402842
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x402846
add ecx, 2
add eax, 2
test dl, dl
jne 0x402826
xor eax, eax
jmp 0x40284b
sbb eax, eax
or eax, 1
lea esi, [edi + 0x11c]
add edi, 0x125
push esi
test eax, eax
lea eax, [esp + 0x64]
push edi
jne 0x402868
push str._s:84:0.25__s:1:0.2
jmp 0x40286d
push str._s:1:0.25__s:84:0.2
push eax
call fcn.0040408b
add esp, 0x10
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x2a4]
push eax
push dword [0x4228d0]
lea eax, [esp + 0x58]
push eax
push dword [0x42287c]
lea eax, [esp + 0x694]
push str._swgrib2.exe__match___s___s__s__lola__s_a0_text
push eax
call fcn.0040408b
add esp, 0x1c
lea eax, [esp + 0x680]
push eax
call fcn.004049d9
add esp, 4
lea eax, [esp + 0x680]
push eax
call fcn.00404d4b
mov eax, dword [esp + 0x18]
add esp, 4
push dword [esp + 0x24]
push 0x422828
push eax
push eax
push 0x422840
lea eax, [esp + 0x3cc]
push str._s__s_gsmALL__s_s__d.txt
push eax
call fcn.0040408b
add esp, 0x1c
lea eax, [esp + 0x3b8]
push 0x41d898
push eax
lea eax, [esp + 0x40]
push eax
call fcn.004042b7
add esp, 0xc
lea eax, [esp + 0x58]
push dword [esp + 0x2c]
push eax
push dword [0x422870]
push 0x422a2c
push 0x422a30
push 0x422a34
push esi
push edi
push str._s__s__s__s__s__s__s__s_n
push dword [esp + 0x5c]
call fcn.004042fc
push 0x41d89c
lea eax, [esp + 0x48]
push 0x41db30
push eax
call fcn.004042b7
add esp, 0x34
test eax, eax
jne 0x4029ed
mov eax, dword [esp + 0x1c]
push eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x684]
push 0x400
push eax
call fcn.004044f1
add esp, 0xc
test eax, eax
je 0x4029ae
jmp 0x402980
push dword [esp + 0x38]
lea eax, [esp + 0x684]
push eax
call fcn.004046f4
push dword [esp + 0x38]
lea eax, [esp + 0x68c]
push 0x400
push eax
call fcn.004044f1
add esp, 0x14
test eax, eax
jne 0x402980
call fcn.00404e40
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
inc edx
mov dword [esp + 0x28], edx
lea ecx, [edi + 0x98]
cmp edx, dword [esp + 0x20]
jle 0x402821
mov esi, dword [esp + 0x24]
push dword [esp + 0x34]
add esi, 3
mov dword [esp + 0x28], esi
call fcn.004041d6
mov edi, dword [esp + 0x1c]
jmp 0x4027c4
push 1
jmp 0x402a1f
lea eax, [esp + 0x60]
push eax
push str._n_s_nFile_Open_Error_n
call fcn.00404645
add esp, 8
call fcn.00401850
lea eax, [esp + 0x3b8]
push eax
call fcn.00404f82
add esp, 4
call fcn.00401760
push 8
call fcn.00405375
int3