Function at 0x4283b0
Capabilities:
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x44528b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xf4
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x14]
call fcn.00423460
mov edi, dword [esi + 0x27d0]
xor ebp, ebp
cmp edi, ebp
mov dword [esp + 0x10c], ebp
je case.0x428411.34
mov edx, dword [esi + 0x27d4]
inc edx
mov eax, edx
mov dword [esi + 0x27d4], edx
cmp eax, 8
jl case.0x428411.34
lea ecx, [edi - 0x20]
cmp ecx, 8
ja case.0x428411.34
xor edx, edx
mov dl, byte [ecx + 0x428968]
jmp dword [edx*4 + 0x42895c]
cdq
xor eax, edx
sub eax, edx
and eax, 1
xor eax, edx
sub eax, edx
jne case.0x428411.34
mov ecx, dword [esi + 0x3b0]
push edi
mov eax, dword [ecx]
call dword [eax + 0xc]
mov eax, dword [0x450cd4]
mov edi, 1
cmp eax, edi
jne 0x42845e
call fcn.004036d0
test eax, eax
jne 0x42845e
call fcn.00403680
mov ecx, esi
call fcn.00428140
push eax
call fcn.00402f20
add esp, 4
mov ecx, esi
call fcn.00428980
cmp dword [0x450cd4], ebp
jne 0x428502
mov ecx, dword [esi + 0x3b0]
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [0x450cd4], ebp
jne 0x428502
mov ecx, esi
call fcn.00428990
mov eax, dword [0x453618]
mov ecx, 0xa
cdq
idiv ecx
test edx, edx
jne 0x428502
cmp dword [0x4536b8], 0xffffffff
je 0x428502
cmp dword [0x453680], edi
jne 0x428502
cmp dword [0x44ccfc], edi
jne 0x428502
call fcn.0042e4c0
test eax, eax
jne 0x428502
mov eax, dword [0x4536b8]
mov ecx, dword [0x4701a4]
cmp eax, ebp
jle 0x4284e1
cmp eax, ecx
jge 0x4284e3
mov dl, al
inc dl
push edx
push eax
call fcn.0042e360
add esp, 8
jmp 0x428502
cmp eax, ecx
push eax
jne 0x4284f0
call fcn.0042e300
add esp, 4
jmp 0x428502
push 0x44c264
push 0x470100
call fcn.0043a6f0
add esp, 0xc
cmp dword [esi], ebp
je 0x4288d4
lea edi, [esi + 8]
mov dword [edi], 0x6c
mov eax, dword [esi + 0x78]
push 0
push 0
push edi
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x64]
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x10], ebx
je 0x428536
inc ebp
cmp ebp, 0x100
jl 0x428513
mov eax, dword [0x450cd4]
test eax, eax
jne 0x42875e
test ebx, ebx
jne 0x428758
mov edx, dword [0x4535e0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x88]
push edx
mov edx, dword [esi + 0x84]
push eax
mov eax, dword [esi + 0x27bc]
push ecx
push edx
push eax
lea ecx, [esp + 0x28]
call fcn.0042cbf0
mov eax, dword [0x4511ac]
test eax, eax
jne 0x4285df
mov ebp, dword [esi + 0x168a8]
lea edi, [esi + 0xa864]
mov ecx, edi
call fcn.0042ccb0
mov ecx, dword [esi + 0x168ac]
lea edx, [ecx + ecx + 0xc8]
mov ecx, edi
sub eax, edx
cdq
sub eax, edx
sar eax, 1
push eax
call fcn.00428140
lea ecx, [ebp + ebp + 0x140]
add ebp, 0xfffffffb
sub eax, ecx
lea ecx, [esp + 0x18]
cdq
sub eax, edx
mov edx, dword [esi + 0x168ac]
sar eax, 1
push eax
push 0xc8
push 0x140
push edx
push ebp
push edi
call fcn.0042d2f0
jmp 0x42875e
cmp eax, 1
jne 0x428616
mov ecx, dword [esi + 0x168a8]
mov eax, dword [esi + 0x168ac]
push 0
push 0
push 0xc8
push 0x140
sub ecx, 5
push eax
lea edx, [esi + 0xa864]
push ecx
push edx
mov ecx, 0x4536f8
call fcn.0042d060
jmp 0x42864b
cmp eax, 3
jne 0x428670
mov ecx, dword [esi + 0x168a8]
mov eax, dword [esi + 0x168ac]
push 0
push 0
push 0xc8
push 0x140
sub ecx, 5
push eax
lea edx, [esi + 0xa864]
push ecx
push edx
mov ecx, 0x4536f8
call fcn.0042ccc0
push 0
push 0
push 0x190
push 0x280
push 0
push 0
push 0x4536f8
lea ecx, [esp + 0x30]
call fcn.0042d2f0
jmp 0x42875e
cmp eax, 2
jne 0x4286f4
xor ebp, ebp
lea ebx, [esi + 0xa864]
xor edi, edi
mov eax, dword [esi + 0x168ac]
mov ecx, dword [esi + 0x168a8]
push edi
push 0
push 6
add eax, ebp
push 0x140
sub ecx, 5
push eax
push ecx
push ebx
mov ecx, 0x4536f8
call fcn.0042d060
add edi, 0xc
add ebp, 5
cmp edi, 0x3c0
jl 0x42867f
push 0
push 0
push 0x1de
push 0x280
push 0
push 0
push 0x4536f8
lea ecx, [esp + 0x30]
call fcn.0042d2f0
push 2
push 0x280
push 0x1de
push 0
push 0
lea ecx, [esp + 0x28]
call fcn.0042d560
mov ebx, dword [esp + 0x10]
jmp 0x42875e
cmp eax, 4
jne 0x42875e
mov eax, dword [esi + 0x168a8]
mov edx, dword [esi + 0x168ac]
push 0
push 0
push 0xc8
push 0x140
sub eax, 5
push edx
lea ecx, [esi + 0xa864]
push eax
push ecx
mov ecx, 0x4536f8
call fcn.0042ccc0
xor ebp, ebp
xor edi, edi
push edi
push 0
push 6
push 0x280
push ebp
push 0
push 0x4536f8
lea ecx, [esp + 0x30]
call fcn.0042d2f0
add edi, 6
add ebp, 5
cmp edi, 0x1e0
jl 0x42872d
jmp 0x42875e
dec dword [0x4535d4]
test ebx, ebx
jne 0x4288d4
mov al, byte [0x470170]
test al, al
je 0x42881a
push 0x451160
lea edx, [esp + 0x40]
push str._sPcx
push edx
call fcn.0043a6f0
add esp, 0xc
lea eax, [esp + 0x3c]
push eax
call fcn.004442d0
mov ecx, dword [0x470174]
add esp, 4
lea edx, [esp + 0x3c]
lea eax, [esp + 0xa0]
push ecx
push edx
push str._s_08d.pcx
push eax
call fcn.0043a6f0
mov ecx, dword [0x470174]
mov al, byte [0x470170]
add esp, 0x10
inc ecx
cmp al, 1
mov dword [0x470174], ecx
jne 0x4287e2
lea ecx, [esp + 0xa0]
lea edx, [esp + 0x3c]
push ecx
push 0x44c248
push edx
jmp 0x4287f4
lea eax, [esp + 0xa0]
lea ecx, [esp + 0x3c]
push eax
push 0x44c240
push ecx
call fcn.0043a6f0
mov eax, dword [esi + 0x27bc]
mov ecx, dword [esi + 0x2c]
add esp, 0xc
lea edx, [esp + 0x3c]
push 0xffffffffffffffff
push edx
push 0
push 0
push eax
push ecx
call fcn.0041cb10
add esp, 0x18
mov eax, dword [esi + 0x78]
push 0
push eax
mov edx, dword [eax]
call dword [edx + pe_nt_image_headers32]
mov eax, dword [0x450cd4]
test eax, eax
je 0x42883a
cmp dword [esi + 0x27cc], 1
jne 0x428852
mov eax, dword [esi + 0x74]
mov edx, dword [esi + 0x78]
push 0
push 0x1000000
mov ecx, dword [eax]
push 0
push edx
push 0
push eax
call dword [ecx + 0x14]
mov eax, dword [esi + 0x78]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + pe_nt_image_headers32]
mov al, byte [0x470170]
test al, al
je 0x4288d4
cmp al, 1
je 0x428876
test byte [0x470174], 1
jne 0x4288d4
mov eax, dword [0x4511ac]
test eax, eax
jne 0x4288aa
mov ecx, dword [esi + 0x168a8]
mov eax, dword [esi + 0x168ac]
lea edx, [esp + 0xa0]
sub ecx, 5
push edx
push eax
push ecx
push 0xc8
push 0x140
lea ecx, [esi + 0xa864]
jmp 0x4288cf
cmp eax, 1
je 0x4288b4
cmp eax, 3
jne 0x4288d4
lea edx, [esp + 0xa0]
mov ecx, 0x4536f8
push edx
push 0
push 0
push 0x190
push 0x280
call fcn.0042d8f0
mov ecx, dword [0x453618]
inc ecx
mov dword [0x453618], ecx
mov eax, dword [esi + 0xa860]
cmp eax, 1
jne 0x42892d
lea eax, [esp + 0xa0]
push 0x64
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea ecx, [esp + 0xa0]
lea edx, [esp + 0x3c]
push ecx
push str._sSchool.Tmp
push edx
call fcn.0043a6f0
add esp, 0xc
lea eax, [esp + 0x3c]
push eax
call fcn.004442c0
mov ecx, dword [esi + 4]
add esp, 4
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
lea ecx, [esp + 0x14]
mov dword [esp + 0x10c], 0xffffffff
call fcn.0042cbd0
mov ecx, dword [esp + 0x104]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x100
ret