Function at 0x4076ac
Capabilities:
Get common file path
Initialize winsock library

Disassembly:
sub esp, 0xcac
mov eax, dword [0x514d34]
xor eax, esp
mov dword [esp + 0xca8], eax
push ebx
mov ebx, dword [esp + 0xcb8]
push ebp
push esi
mov esi, dword [esp + 0xcbc]
xor ebp, ebp
push edi
inc ebp
mov dword [esp + 0x1c], ebx
xor edi, edi
push edi
cmp si, bp
jne 0x40770a
push edi
push 0x4bea80
push str.AXIS_Report_Viewer
push str.axisrep.exe
push edi
call fcn.0040ec10
xor ecx, ecx
add esp, 0x18
test ax, ax
sete cl
mov ax, cx
jmp 0x407f42
push 0x4bea80
call fcn.0040e4df
add ebx, 4
xor eax, eax
pop ecx
pop ecx
inc eax
mov ecx, ebp
mov ebp, dword [ebx]
cmp ax, si
jae 0x407f34
mov edx, dword [esp + 0x1c]
mov al, byte [ebp]
cmp al, 0x2f
je 0x407738
cmp al, 0x2d
jne 0x407744
inc ecx
movzx eax, cx
mov ebp, dword [edx + eax*4]
cmp cx, si
jb 0x40772d
mov dword [esp + 0x20], ebp
cmp cx, si
jae 0x407f34
push edi
push edi
push edi
lea eax, [esp + 0x574]
push eax
push edi
push edi
push ebp
call fcn.0040d952
add esp, 0x1c
lea eax, [esp + 0x568]
push eax
push dword [0x52cc14]
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov edx, edi
mov dword [esp + 0x18], 5
lea eax, [esi - 1]
mov dword [esp + 0x10], edx
xor ebp, ebp
movzx esi, ax
inc ebp
mov ecx, dword [ebx]
mov al, byte [ecx]
cmp al, 0x2f
je 0x4077a2
cmp al, 0x2d
jne 0x40790f
movzx eax, byte [ecx + 1]
push eax
call fcn.0040813e
movsx eax, al
pop ecx
cmp eax, 0x50
jg 0x4078bb
je 0x4078b1
sub eax, 0x41
je 0x4078ab
sub eax, 3
je 0x4078a2
dec eax
sub eax, 1
je 0x4077ed
push 7
pop ecx
sub eax, ecx
jne 0x407912
mov edx, ebp
mov dword [esp + 0x10], edx
jmp 0x407916
mov eax, dword [ebx]
add eax, 3
push eax
lea eax, [esp + 0x360]
push eax
call fcn.00446f90
lea eax, [esp + 0x364]
push eax
call fcn.00447230
lea ecx, [esp + 0x368]
add esp, 0xc
cmp byte [eax + ecx - 1], 0x5c
je 0x40782a
mov eax, ecx
push 0x5c
push eax
call fcn.0040970e
pop ecx
pop ecx
lea eax, [esp + 0x35c]
push eax
call fcn.0040e0bf
push edi
push edi
push edi
push edi
lea eax, [esp + 0x268]
push eax
lea eax, [esp + 0x374]
push edi
push eax
call fcn.0040d952
lea eax, [esp + 0x274]
push 0x4beabc
push eax
call fcn.00447146
add esp, 0x28
test eax, eax
je 0x407892
push edi
push edi
push edi
push edi
lea eax, [esp + 0x36c]
push edi
push eax
push eax
call fcn.0040d952
lea eax, [esp + 0x378]
push str._axis2000_
push eax
call fcn.00446fa0
add esp, 0x24
lea eax, [esp + 0x35c]
push eax
call fcn.0040e0ad
pop ecx
jmp 0x40790f
mov word [0x526d18], bp
jmp 0x40790f
mov dword [esp + 0x18], edi
jmp 0x40790f
mov dword [esp + 0x18], 2
jmp 0x40790f
sub eax, 0x54
je 0x4078fd
sub eax, 1
je 0x4078ea
dec eax
sub eax, 1
je 0x4078e0
mov edx, dword [esp + 0x10]
push 7
pop ecx
sub eax, 1
jne 0x407916
mov word [0x52d7fc], bp
jmp 0x407916
mov dword [esp + 0x18], 6
jmp 0x40790f
mov eax, dword [ebx]
add eax, 3
push eax
push 0x53214c
call fcn.00446f90
pop ecx
jmp 0x40789f
mov eax, dword [ebx]
add eax, 3
push eax
push dword [0x52cc14]
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 7
pop ecx
mov edx, dword [esp + 0x10]
add ebx, 4
sub esi, 1
jne 0x407792
test dx, dx
mov eax, ebp
mov ebp, dword [esp + 0x20]
mov ebx, 0x526d20
cmovne eax, ecx
mov ecx, ebx
push eax
push ebp
call fcn.0040c8be
mov esi, dword [esp + 0xcc0]
movzx eax, ax
push edi
test ax, ax
je 0x407973
push 0x106
mov ecx, 0xffff
push ecx
push ecx
push edi
push eax
call fcn.0040cb9c
pop ecx
push eax
push str.Error_opening_report_file
call fcn.00413863
add esp, 0x1c
jmp 0x407f3f
push 0x11
lea eax, [esp + 0x248]
mov ecx, ebx
push eax
call fcn.0040c914
test ax, ax
je 0x40799d
call fcn.004075ed
movzx eax, ax
push eax
call fcn.00407611
pop ecx
jmp 0x407f42
lea eax, [esp + 0x240]
push str.AXIS_Report_File
push eax
call fcn.0040a2e2
pop ecx
pop ecx
test ax, ax
jne case.default.0x407ca1
push edi
push 2
lea eax, [esp + 0x1c]
mov ecx, ebx
push eax
call fcn.0040c914
test ax, ax
jne case.default.0x407ca1
cmp byte [esp + 0x14], 5
jbe 0x4079e7
push str.Incompatible_Report_File_Format___AXISREP.EXE_Needs_Upgrading
call fcn.00413845
xor eax, eax
inc eax
push eax
call fcn.00407611
pop ecx
jmp 0x407997
push 0x59
lea eax, [esp + 0x58]
push edi
push eax
call fcn.00443240
add esp, 0xc
mov ecx, ebx
cmp byte [esp + 0x14], 5
sbb eax, eax
and eax, 0xffffffaf
push edi
add eax, 0x59
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.0040c914
test ax, ax
jne case.default.0x407ca1
cmp word [esp + 0x10], di
je 0x407ab4
lea eax, [esp + 0x79c]
push eax
push ebp
call fcn.0040dc1c
pop ecx
pop ecx
push edi
push edi
lea eax, [esp + 0x7a4]
push edi
push eax
call fcn.00447230
pop ecx
lea ecx, [esp + 0x7a8]
add eax, ecx
push eax
push edi
push edi
push ebp
call fcn.0040d952
lea eax, [esp + 0x7b8]
push 0x4beb40
push eax
call fcn.00446fa0
add esp, 0x24
lea eax, [esp + 0x79c]
mov ebx, 0x527260
mov ecx, ebx
push eax
call fcn.0040c68c
test ax, ax
je 0x407a96
lea eax, [esp + 0x79c]
mov ecx, ebx
push eax
call fcn.0040c650
lea eax, [esp + 0x79c]
mov ecx, ebx
push eax
call fcn.0040c808
test ax, ax
je 0x407ab4
push str.Error_Creating_MX_File
jmp 0x4079d6
mov ebx, dword [esp + 0x18]
push 2
pop eax
cmp bx, ax
je 0x407ac5
call fcn.0042c2ef
lea eax, [esp + 0xb0]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x407ae8
push dword [sym.imp.WS2_32.dll_WSACleanup]
call fcn.00441a49
pop ecx
push 0x46
push dword [esp + 0x20]
push esi
call fcn.004135e9
add esp, 0xc
test ax, ax
jne 0x407b9b
lea eax, [esp + 0x254]
push eax
push edi
push edi
push 0x8005
push edi
call dword [sym.imp.SHFOLDER.dll_SHGetFolderPathA]
test eax, eax
jns 0x407b65
lea ecx, [esp + 0x3c]
call fcn.00408368
lea eax, [esp + 0x3c]
push edi
push eax
call fcn.0040f956
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x407b38
mov eax, dword [eax]
push eax
push str.Failed_to_determine_application_data_folder____str_
call fcn.00413979
xor ebx, ebx
inc ebx
push ebx
call fcn.00407611
add esp, 0xc
movzx esi, ax
lea ecx, [esp + 0x3c]
push edi
push ebx
call fcn.0040758b
mov ax, si
jmp 0x407f42
lea eax, [esp + 0x254]
push eax
call fcn.00447230
pop ecx
lea ecx, [esp + 0x254]
cmp byte [eax + ecx - 1], 0x5c
je 0x407b8d
mov eax, ecx
push 0x5c
push eax
call fcn.0040970e
pop ecx
pop ecx
lea eax, [esp + 0x254]
push eax
call fcn.0040e0bf
pop ecx
mov ax, word [esp + 0x56]
mov ecx, 0x4000
or ax, cx
test byte [esp + 0x15], 2
mov word [esp + 0x56], ax
je 0x407be1
or byte [0x52b798], 0x80
or byte [0x52b797], 1
push 0x80
push 0x52b779
mov byte [0x533fbe], 0xa
call fcn.0040e3a2
pop ecx
pop ecx
mov ecx, 0xa0
jmp 0x407c0c
test byte [esp + 0x15], 1
je 0x407c1e
or byte [0x52b798], 0x80
push 0x80
push 0x52b779
mov byte [0x533fbe], 9
call fcn.0040e3a2
pop ecx
pop ecx
mov ecx, 0x8000
mov byte [0x52b7f9], al
mov ax, word [esp + 0x56]
or ax, cx
mov word [esp + 0x56], ax
xor ebp, ebp
inc ebp
cmp word [esp + 0x10], di
jne 0x407c30
or ax, bp
mov word [esp + 0x56], ax
lea eax, [esp + 0x5c]
push eax
push edi
push dword [esp + 0x62]
lea eax, [esp + 0x67c]
push dword [esp + 0x64]
push dword [esp + 0x66]
push ebx
push eax
call fcn.00415128
add esp, 0x1c
test ax, ax
jne 0x407c5e
push edi
jmp 0x407992
mov ebx, 0x526d20
push ebx
call fcn.00407649
pop ecx
test ax, ax
jne 0x407f0e
mov esi, 0x5277a0
push edi
push 2
pop eax
push eax
lea eax, [esp + 0x18]
mov ecx, ebx
push eax
call fcn.0040c914
test ax, ax
jne case.default.0x407ca1
movzx eax, word [esp + 0x10]
dec eax
cmp eax, 0xb
ja case.default.0x407ca1
jmp dword [eax*4 + 0x407f5c]
push ebx
call fcn.00407649
pop ecx
test ax, ax
jne 0x407f13
push edi
push 4
lea eax, [esp + 0x24]
mov ecx, ebx
push eax
call fcn.0040c914
test ax, ax
jne case.default.0x407ca1
push ebx
call fcn.00407649
pop ecx
test ax, ax
jne 0x407f13
movzx eax, word [esp + 0x1e]
mov ecx, ebx
push edi
push eax
lea eax, [esp + 0x678]
push eax
call fcn.0040c914
test ax, ax
jne case.default.0x407ca1
push dword [esp + 0x1c]
call fcn.004164e1
pop ecx
test ax, ax
je 0x407c58
jmp 0x407efe
call fcn.00416e88
jmp 0x407efe
call fcn.00416d1e
jmp 0x407efe
call fcn.00416d3e
jmp 0x407efe
call fcn.00416d2e
jmp 0x407efe
push ebx
call fcn.00407649
pop ecx
test ax, ax
jne 0x407f13
push edi
push 0xc2
lea eax, [esp + 0x25c]
mov ecx, ebx
push eax
call fcn.0040c914
test ax, ax
jne case.default.0x407ca1
lea eax, [esp + 0x2b1]
push eax
lea eax, [esp + 0x296]
push eax
lea eax, [esp + 0x27b]
push eax
lea eax, [esp + 0x260]
push eax
call fcn.00417183
add esp, 0x10
jmp 0x407efe
push ebx
call fcn.00407649
pop ecx
test ax, ax
jne 0x407f13
push edi
push 0xc
lea eax, [esp + 0x44]
mov ecx, ebx
push eax
call fcn.0040c914
test ax, ax
jne case.default.0x407ca1
push dword [esp + 0x46]
push dword [esp + 0x48]
push dword [esp + 0x4a]
push dword [esp + 0x4c]
push dword [esp + 0x4e]
push dword [esp + 0x50]
call fcn.00416fb5
add esp, 0x18
jmp 0x407efe
call fcn.004172d8
jmp 0x407efe
push edi
push 4
lea eax, [esp + 0x20]
mov ecx, ebx
push eax
call fcn.0040c914
test ax, ax
jne case.default.0x407ca1
push edi
push edi
mov ecx, esi
call fcn.0040c85c
test ax, ax
jne 0x407f19
mov eax, dword [esp + 0x18]
mov esi, edi
test eax, eax
je 0x407e8b
mov edx, 0x200
sub eax, esi
mov ecx, edx
cmp eax, edx
push edi
cmovbe ecx, eax
lea eax, [esp + 0x360]
push ecx
push eax
mov ecx, ebx
call fcn.0040c914
test ax, ax
jne 0x407f19
mov ecx, dword [esp + 0x18]
mov edx, 0x200
sub ecx, esi
mov eax, edx
cmp ecx, edx
push edi
cmovbe eax, ecx
mov ecx, 0x5277a0
push eax
lea eax, [esp + 0x364]
push eax
call fcn.0040cb13
test ax, ax
jne 0x407f19
mov eax, dword [esp + 0x18]
mov edx, 0x200
add esi, edx
cmp esi, eax
jb 0x407e2a
mov esi, 0x5277a0
mov ecx, esi
call fcn.0040c61c
mov ecx, esi
call fcn.0040c6b5
push eax
call fcn.0041707b
pop ecx
jmp 0x407efe
push edi
push 8
lea eax, [esp + 0x2c]
mov ecx, ebx
push eax
call fcn.0040c914
test ax, ax
jne case.default.0x407ca1
push dword [esp + 0x24]
push dword [esp + 0x2e]
push dword [esp + 0x30]
call fcn.00416d4e
jmp 0x407efb
push edi
push 8
lea eax, [esp + 0x38]
mov ecx, ebx
push eax
call fcn.0040c914
test ax, ax
jne case.default.0x407ca1
push dword [esp + 0x30]
push dword [esp + 0x3a]
push dword [esp + 0x3c]
call fcn.00416deb
add esp, 0xc
push ebx
call fcn.00407649
pop ecx
test ax, ax
je 0x407c78
mov ax, bp
jmp 0x407f42
push ebp
jmp 0x407992
call fcn.004075de
jmp 0x40798e
mov ecx, ebx
call fcn.0040c61c
call fcn.00416828
jmp 0x407c58
push str.Invalid_Command_Line
call fcn.00413845
pop ecx
xor eax, eax
inc eax
mov ecx, dword [esp + 0xcb8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00441a5e
add esp, 0xcac
ret