Function at 0x415fd7
Capabilities:
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x790
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
push dword [ebp + 0xc]
xor edi, edi
inc edi
and dword [ebp + 0x10], edi
lea ecx, [ebp - 0x40]
and esi, 0xf0
call fcn.0042a183
lea ecx, [ebp + 0xc]
call fcn.0040e58b
xor ebx, ebx
lea ecx, [ebp - 0x24]
mov byte [ebp - 0xb], 0xff
mov byte [ebp - 0xa], 0xff
mov byte [ebp - 0x19], bl
mov byte [ebp - 1], bl
mov byte [ebp - 9], bl
mov byte [ebp - 0x1a], bl
call fcn.0042460b
push edi
lea eax, [ebp + 0xc]
push eax
push 0x478420
mov word [ebp - 0x294], bx
call fcn.0042c9b5
add esp, 0xc
test al, al
jne 0x416047
cmp esi, ebx
mov byte [ebp - 0xc], al
je 0x41604d
mov byte [ebp - 0xc], 1
cmp esi, ebx
setne byte [ebp - 0xd]
cmp byte [ebp - 0xc], 0
je 0x416242
mov byte [ebp - 0xb], 0
mov byte [ebp - 0xa], 1
jmp 0x416242
cmp word [edx + 2], 0x2a
jne 0x41624f
push 3
lea eax, [ebp + 0xc]
push eax
push 0x478520
call fcn.0042c9b5
add esp, 0xc
test al, al
je 0x416092
mov dword [ebp + 0x10], edi
jmp 0x416242
push 4
lea eax, [ebp + 0xc]
push eax
push str.cd
call fcn.0042c9b5
add esp, 0xc
test al, al
je 0x4160b2
mov byte [ebp - 0xb], 1
jmp 0x416242
push 5
pop esi
push esi
lea eax, [ebp + 0xc]
push eax
push str.ncd
call fcn.0042c9b5
add esp, 0xc
test al, al
je 0x4160d4
mov byte [ebp - 0xb], 0
jmp 0x416242
push 6
lea eax, [ebp + 0xc]
push eax
push str.nrcd
call fcn.0042c9b5
add esp, 0xc
test al, al
je 0x4160f4
mov byte [ebp - 0xa], 2
jmp 0x416242
push esi
lea eax, [ebp + 0xc]
push eax
push str.rcd
call fcn.0042c9b5
add esp, 0xc
test al, al
je 0x416113
mov byte [ebp - 0xa], 0
jmp 0x416242
push 4
lea eax, [ebp + 0xc]
push eax
push str.qd
call fcn.0042c9b5
add esp, 0xc
test al, al
je 0x416133
mov byte [ebp - 9], 1
jmp 0x416242
push esi
lea eax, [ebp + 0xc]
push eax
push 0x4784f0
call fcn.0042c9b5
add esp, 0xc
test al, al
je 0x416152
mov byte [ebp - 9], 0x23
jmp 0x416242
push esi
lea eax, [ebp + 0xc]
push eax
push 0x4784e8
call fcn.0042c9b5
add esp, 0xc
test al, al
je 0x416171
mov byte [ebp - 9], 0x2a
jmp 0x416242
push esi
lea eax, [ebp + 0xc]
push eax
push str.qd_
call fcn.0042c9b5
add esp, 0xc
test al, al
je 0x416190
mov byte [ebp - 9], 0x24
jmp 0x416242
push esi
lea eax, [ebp + 0xc]
push eax
push 0x4784d8
call fcn.0042c9b5
add esp, 0xc
test al, al
je 0x4161af
mov byte [ebp - 9], 0x3d
jmp 0x416242
push 6
push dword [ebp + 0xc]
push str.ret:
call fcn.004257a3
add esp, 0xc
test al, al
lea eax, [ebp + 0xc]
je 0x41621e
add dword [ebp + 0xc], 0xc
mov esi, dword [ebp + 0xc]
push eax
call fcn.00403953
mov eax, dword [ebp + 0xc]
pop ecx
sub eax, esi
sar eax, 1
push eax
push esi
lea ecx, [ebp - 0x24]
call fcn.00409ba0
lea ecx, [ebp + 0xc]
call fcn.0040e58b
mov ecx, dword [ebp + 8]
push ebx
lea eax, [ebp - 0x24]
push eax
call fcn.00402996
push dword [ebp - 0x24]
mov byte [ebp - 1], 1
push 0x477a70
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x416242
mov eax, dword [ebp - 0x24]
mov byte [ebp - 1], 3
mov word [eax], bx
jmp 0x416242
push 3
push eax
push 0x4784cc
call fcn.0042c9b5
add esp, 0xc
test al, al
je 0x416238
mov byte [ebp - 0x1a], 1
jmp 0x416242
lea eax, [ebp + 0xc]
push eax
call fcn.00403977
pop ecx
mov edx, dword [ebp + 0xc]
cmp word [edx], 0x2a
je 0x416068
mov esi, dword [sym.imp.SHLWAPI.dll_StrChrW]
push 0x6e
pop ecx
xor eax, eax
push 0x6a
lea edi, [ebp - 0x1fc]
mov dword [ebp - 0x200], ebx
rep stosd dword es:[edi], eax
pop ecx
push 0x69
lea edi, [ebp - 0x43c]
rep stosd dword es:[edi], eax
pop ecx
push 0x69
lea edi, [ebp - 0x5e4]
rep stosd dword es:[edi], eax
pop ecx
lea edi, [ebp - 0x78c]
mov dword [ebp - 0x790], ebx
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x440]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x14]
xor edi, edi
push 0x2c
inc edi
push edx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x440], edx
mov dword [ebp - 0x5e8], edx
mov dword [ebp - 0x210], edi
call esi
cmp eax, ebx
mov dword [ebp - 0x18], eax
je 0x4162c6
add dword [ebp - 0x18], 2
mov eax, dword [ebp - 0x18]
cmp eax, ebx
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x5e4], eax
je 0x4162e5
cmp word [eax], 0x2a
jne 0x4162e5
mov byte [ebp - 0x25], 1
jmp 0x4162f9
cmp byte [ebp - 0xc], 0
mov byte [ebp - 0x25], 0
jne 0x4162f9
cmp byte [ebp - 0xd], 0
mov byte [ebp - 0xe], 1
je 0x4162fd
mov byte [ebp - 0xe], 0
cmp byte [ebp - 0xe], 0
mov dword [ebp - 0x214], ebx
je 0x416355
mov eax, dword [ebp + 0x14]
cmp eax, ebx
mov dword [ebp - 0x20], eax
jne 0x416319
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x20], eax
xor edi, edi
inc edi
mov dword [ebp - 0x210], edi
push 0x2c
push dword [ebp - 0x20]
call esi
cmp eax, ebx
mov dword [ebp - 0x20], eax
je 0x416352
mov word [eax], bx
add dword [ebp - 0x20], 2
cmp edi, 2
jl 0x416346
mov eax, dword [ebp - 0x20]
mov dword [ebp + edi*4 - 0x440], eax
inc edi
cmp edi, 0x6a
mov dword [ebp - 0x210], edi
jl 0x416322
mov eax, dword [ebp - 0x18]
cmp eax, ebx
mov dword [ebp - 0x2c], ebx
je 0x416372
push 0x2c
push eax
call esi
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x18]
cmp eax, ebx
je 0x416372
mov word [eax - 2], bx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + 0xc]
cmp word [ecx], bx
jne 0x416384
mov esi, 0x80070057
jmp 0x4169e8
cmp dword [ebp - 0x2c], ebx
je 0x416396
mov eax, dword [ebp - 0x2c]
mov word [eax], bx
add dword [ebp - 0x2c], 2
mov eax, dword [ebp - 0x18]
mov cl, byte [ebp - 1]
and cl, 2
mov byte [ebp - 0x2d], cl
je 0x4163af
cmp eax, ebx
je 0x4163af
cmp word [eax], bx
jne 0x4163af
xor eax, eax
mov dword [ebp - 0x18], eax
test cl, cl
je 0x4163d9
cmp dword [ebp - 0x2c], ebx
je 0x4163d9
mov ecx, dword [ebp + 8]
push ebx
push 0x2c
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00421926
mov eax, dword [ebp - 0x2c]
cmp word [eax], bx
mov eax, dword [ebp - 0x18]
jne 0x4163d9
mov dword [ebp - 0x2c], ebx
cmp eax, ebx
mov dword [ebp - 8], ebx
mov byte [ebp - 1], 0
mov byte [ebp - 0x1b], 0
jne 0x4164b8
cmp dword [ebp - 0x2c], ebx
jne 0x41799a
mov esi, str.DllRegisterServer
lea ecx, [ebp + 0x10]
mov dword [ebp - 0x18], esi
call fcn.0042460b
push 0xffffffffffffffff
push str.___exe:_
lea ecx, [ebp + 0x14]
call fcn.00424642
lea eax, [ebp + 0x14]
push eax
lea ecx, [ebp + 0x10]
call fcn.0042a1e5
lea ecx, [ebp + 0x14]
call fcn.00424686
push 0x51c
lea ecx, [ebp + 0x10]
call fcn.00424699
mov eax, dword [ebp + 0x10]
push 0x208
add eax, 0x10
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0xffffffffffffffff
push str.__PECMD.EXE_CALL__
lea ecx, [ebp + 0x14]
call fcn.00424642
push dword [eax]
lea ecx, [ebp + 0x10]
call fcn.004246c0
lea ecx, [ebp + 0x14]
call fcn.00424686
push dword [ebp - 0x40]
lea ecx, [ebp + 0x10]
call fcn.004246c0
push 0xffffffffffffffff
push 0x478484
lea ecx, [ebp + 0x14]
call fcn.00424642
push dword [eax]
lea ecx, [ebp + 0x10]
call fcn.004246c0
lea ecx, [ebp + 0x14]
call fcn.00424686
push esi
lea ecx, [ebp + 0x10]
call fcn.004246c0
mov ecx, dword [ebp + 8]
push ebx
push ebx
push ebx
push ebx
push ecx
push dword [ebp + 0x10]
call fcn.00406b5b
mov esi, eax
lea ecx, [ebp + 0x10]
jmp 0x4169e3
cmp word [eax], bx
je 0x41799a
cmp byte [ebp - 0xe], 0
je 0x416516
cmp dword [ebp + 0x14], ebx
je 0x416516
push 2
pop esi
cmp edi, esi
lea eax, [ebp - 0x5e8]
mov dword [ebp - 0x14], eax
mov dword [ebp + 0x14], ebx
jle 0x41650e
mov ecx, dword [ebp + 8]
push 1
push ebx
lea eax, [ebp + 0x14]
push eax
push dword [ebp + esi*4 - 0x440]
call fcn.0043dcfa
mov eax, dword [ebp + 0x14]
mov dword [ebp + esi*4 - 0x5e8], eax
mov dword [ebp + esi*4 - 0x790], eax
inc esi
cmp esi, edi
mov dword [ebp + 0x14], ebx
jl 0x4164df
lea ecx, [ebp + 0x14]
call fcn.00424686
cmp byte [ebp - 0xe], 0
push 2
pop eax
je 0x416651
mov edx, dword [ebp - 0x14]
cmp dword [edx + 4], ebx
je 0x416651
cmp byte [ebp - 0x2d], 0
je 0x416542
mov ecx, dword [edx + 8]
cmp ecx, ebx
mov dword [ebp - 0x20], ecx
je 0x416542
push 3
pop eax
shl eax, 2
lea edi, [eax + edx]
lea eax, [ebp + eax - 0x444]
mov dword [ebp - 0x38], eax
mov eax, dword [edi]
add dword [ebp - 0x38], 4
add edi, 4
cmp eax, ebx
mov dword [ebp - 0x20], eax
je 0x416651
mov esi, dword [ebp - 0x34]
mov cx, word [eax]
cmp cx, 0x23
lea esi, [ebp + esi*4 - 0x200]
mov dword [esi], eax
mov byte [ebp + 0x17], 0
je 0x416587
cmp byte [ebp - 9], 0x23
jne 0x4165b7
jmp 0x41658c
inc eax
inc eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 0x208], ebx
mov dword [ebp - 0x204], ebx
call fcn.0042e332
mov eax, dword [ebp - 0x208]
pop ecx
pop ecx
mov dword [esi], eax
jmp 0x416644
cmp byte [ebp - 9], 0x2a
je 0x4165f3
cmp byte [ebp - 9], 0x24
je 0x4165b0
cmp byte [ebp - 9], 0x3d
je 0x4165e5
cmp byte [ebp - 9], 0
je 0x416644
inc eax
movzx ecx, cx
inc eax
cmp ecx, 0x2a
mov dword [ebp - 0x20], eax
mov byte [ebp + 0x17], 1
je 0x4165f3
cmp ecx, 0x3d
jne 0x4165b0
movsx eax, byte [ebp + 0x17]
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ecx]
lea eax, [ecx + eax*2]
jmp 0x4165b0
cmp word [eax], 0x2a
jne 0x4165fe
inc eax
inc eax
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x44], eax
call fcn.0042460b
mov ecx, dword [ebp + 8]
push ebx
push 0x2c
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.00421926
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x14]
mov dword [ebp - 0x44], ebx
call fcn.0040a6dc
cmp eax, ebx
je 0x416637
mov eax, dword [eax + 4]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x14]
mov dword [esi], eax
call fcn.00424686
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x64
jbe 0x416552
mov eax, dword [ebp - 0x18]
cmp word [eax], 0x2d
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
jne 0x41667f
mov esi, str.DllRegisterServer
add eax, 2
push esi
push eax
call edi
test eax, eax
jne 0x41667f
mov dword [ebp - 0x18], esi
mov byte [ebp - 1], 0xff
mov byte [ebp - 0x1b], 3
mov byte [ebp - 0xb], 1
push str.DllUnregisterServer
push dword [ebp - 0x18]
call edi
test eax, eax
jne 0x416699
mov byte [ebp - 1], 0xff
mov byte [ebp - 0x1b], 7
mov byte [ebp - 0xb], 1
push 0x20a
lea ecx, [ebp - 0x3c]
call fcn.0042465d
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x21c], ebx
mov dword [ebp - 0x218], ebx
xor esi, esi
cmp word [eax], 0x23
jne 0x41670f
cmp word [eax + 2], bx
jne 0x41670f
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0042e332
mov esi, dword [ebp - 0x21c]
mov eax, esi
or eax, dword [ebp - 0x218]
pop ecx
pop ecx
jne 0x4166fe
mov al, byte [ebp - 0xd]
neg al
sbb eax, eax
and eax, 0x7ff8ffa9
add eax, 0x80070057
mov dword [ebp - 8], eax
jmp 0x41792e
cmp byte [ebp - 0xa], 0
mov eax, dword [ebp + 0xc]
mov byte [ebp - 1], 1
jge 0x41670f
mov byte [ebp - 0xa], 1
cmp eax, ebx
mov dword [ebp + 0x14], ebx
je 0x416720
push eax
call fcn.00412d51
pop ecx
mov dword [ebp + 0xc], eax
mov cx, word [eax]
cmp cx, 0x2a
jne 0x41672d
mov byte [ebp - 0x1a], 1
test cx, cx
mov ebx, eax
je 0x416741
cmp cx, 0x2e
jne 0x416743
cmp word [eax + 2], 0
jne 0x416743
xor ebx, ebx
cmp byte [ebp - 0x25], 0
je 0x416778
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x416761
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x416765
xor eax, eax
jmp 0x416771
cmp byte [ebp - 0xd], 0
jne 0x416761
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x4169e0
cmp byte [ebp - 0xa], 0
jg 0x41678f
push dword [ebp - 0x3c]
push 0x208
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov eax, dword [ebp + 0xc]
cmp byte [ebp - 0xb], 0
jle 0x4167c7
push 0x5c
push 0
push eax
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
test eax, eax
je 0x4167c7
sub eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x14]
sar eax, 1
inc eax
push eax
push dword [ebp + 0xc]
call fcn.00424629
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea ecx, [ebp - 0x14]
call fcn.00424686
test esi, esi
mov edi, 0x48b5d4
jne 0x416990
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp byte [ebp - 1], 0
jne 0x4167fb
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
mov dword [ebp + 0x14], eax
jne 0x4167f3
mov byte [ebp - 1], 1
test ebx, ebx
jne 0x4167fb
mov byte [ebp - 1], 2
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test ebx, ebx
je 0x416990
cmp byte [ebp - 0x1a], 0
je 0x416941
xor eax, eax
cmp word [ebx], 0x2a
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x204], eax
jne 0x4168a8
mov eax, dword [0x48add0]
xor ecx, ecx
inc ebx
inc ebx
cmp word [ebx], cx
mov dword [ebp - 0x14], ecx
mov edi, ebx
je 0x41684e
cmp word [edi], 0x23
je 0x41684e
inc edi
inc edi
cmp word [edi], cx
jne 0x416841
xor ecx, ecx
mov cx, word [edi]
cmp cx, 0x23
mov dword [ebp - 0x38], ecx
jne 0x4168b7
and word [edi], 0
cmp word [ebx], 0
je 0x416874
push 2
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov dword [ebp - 0x14], eax
test eax, eax
mov cx, word [ebp - 0x38]
mov word [edi], cx
je 0x416897
push 0
lea ecx, [ebp - 0x20c]
push ecx
push str.EXEDATA
push edi
push eax
call fcn.0040e9a5
add esp, 0x14
cmp dword [ebp - 0x14], 0
je 0x4168b7
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x4168b7
lea eax, [ebp - 0x20c]
push eax
push ebx
call fcn.0040e6ba
pop ecx
pop ecx
mov ebx, dword [ebp - 0x20c]
test ebx, ebx
mov eax, dword [ebp - 0x208]
mov dword [ebp - 0x14], eax
jne 0x4168de
lea ecx, [ebp - 0x20c]
mov dword [ebp - 8], 0x80004005
call fcn.00424686
jmp 0x416958
push 0x18
call fcn.00461a38
test eax, eax
pop ecx
je 0x4168f5
mov ecx, eax
call fcn.0040a176
mov edi, eax
jmp 0x4168f7
xor edi, edi
push dword [ebp - 0x14]
mov ecx, edi
push ebx
call fcn.0040e71f
test eax, eax
je 0x416928
push dword [ebp - 0x18]
lea ecx, [ebp - 0x14]
call fcn.0040e5d5
push dword [eax]
mov ecx, edi
call fcn.0040a1b2
lea ecx, [ebp - 0x14]
mov esi, eax
call fcn.00424686
test esi, esi
jne 0x41692f
mov dword [ebp - 8], 0x80004005
lea ecx, [ebp - 0x20c]
call fcn.00424686
mov edi, 0x48b5d4
jmp 0x416990
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
mov dword [ebp + 0x14], eax
jne 0x416963
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 8], eax
cmp byte [ebp - 0xc], 0
jne 0x4169ab
jmp 0x4178d4
push dword [ebp - 0x18]
lea ecx, [ebp - 0x14]
call fcn.0040e5d5
push dword [eax]
push dword [ebp + 0x14]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [ebp - 0x14]
mov esi, eax
call fcn.00424686
test esi, esi
jne 0x416990
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 8], eax
cmp byte [ebp - 0xc], 0
je 0x416a0a
cmp byte [ebp - 1], 0
jg 0x4169ab
cmp dword [ebp + 0x14], 0
je 0x4169ab
push dword [ebp + 0x14]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp - 0xd], 0
jne 0x4169e0
test esi, esi
je 0x4169cb
push esi
lea eax, [ebp - 0x294]
push str.0x_p
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x294]
push eax
push dword [ebp - 0x24]
call fcn.00428e1b
mov esi, dword [ebp - 8]
lea ecx, [ebp - 0x3c]
call fcn.00424686
lea ecx, [ebp - 0x214]
call fcn.00412e21
lea ecx, [ebp - 0x24]
call fcn.00424686
lea ecx, [ebp - 0x40]
call fcn.00424686
mov eax, esi
jmp 0x4179c6
xor bl, bl
test esi, esi
je case.default.0x417321
call fcn.00431d2a
cmp byte [ebp - 0x1b], bl
je 0x416a60
cmp dword [0x48b154], 0
je 0x416a60
cmp dword [0x48b158], 0
je 0x416a60
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp + 8]
mov al, byte [ecx + 0xd]
test al, 2
jne 0x416a59
test al, 1
jne 0x416a47
inc bl
or al, 3
push 0
or bl, 2
mov byte [ecx + 0xd], al
call dword [0x48b154]
jmp 0x416a60
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebp + 0x10], 1
mov ecx, dword [ebp - 0x34]
jne 0x41730c
push 0x64
pop eax
cmp eax, ecx
sbb al, al
inc al
cmp ecx, 0x10
mov byte [ebp - 0x19], al
ja case.default.0x416a82
jmp dword [ecx*4 + 0x4179cd]
push dword [ebp - 0x200]
call esi
jmp 0x416aa2
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
pop ecx
pop ecx
jmp 0x41789f
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
add esp, 0xc
jmp 0x41789f
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
add esp, 0x10
jmp 0x41789f
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
add esp, 0x14
jmp 0x41789f
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
add esp, 0x18
jmp 0x41789f
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
add esp, 0x1c
jmp 0x41789f
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
add esp, 0x20
jmp 0x41789f
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
add esp, 0x24
jmp 0x41789f
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
add esp, 0x28
jmp 0x41789f
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
add esp, 0x2c
jmp 0x41789f
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
add esp, 0x30
jmp 0x41789f
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
add esp, 0x34
jmp 0x41789f
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
add esp, 0x38
jmp 0x41789f
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
add esp, 0x3c
jmp 0x41789f
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
add esp, 0x40
jmp 0x41789f
cmp ecx, 0x14
ja 0x416edd
push dword [ebp - 0x1b4]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
push dword [ebp - 0x1c0]
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
add esp, 0x50
jmp 0x41789f
cmp ecx, 0x1e
ja 0x416fa4
push dword [ebp - 0x18c]
push dword [ebp - 0x190]
push dword [ebp - 0x194]
push dword [ebp - 0x198]
push dword [ebp - 0x19c]
push dword [ebp - 0x1a0]
push dword [ebp - 0x1a4]
push dword [ebp - 0x1a8]
push dword [ebp - 0x1ac]
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
push dword [ebp - 0x1c0]
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
add esp, 0x78
jmp 0x41789f
cmp ecx, 0x28
ja 0x4170aa
push dword [ebp - 0x164]
push dword [ebp - 0x168]
push dword [ebp - 0x16c]
push dword [ebp - 0x170]
push dword [ebp - 0x174]
push dword [ebp - 0x178]
push dword [ebp - 0x17c]
push dword [ebp - 0x180]
push dword [ebp - 0x184]
push dword [ebp - 0x188]
push dword [ebp - 0x18c]
push dword [ebp - 0x190]
push dword [ebp - 0x194]
push dword [ebp - 0x198]
push dword [ebp - 0x19c]
push dword [ebp - 0x1a0]
push dword [ebp - 0x1a4]
push dword [ebp - 0x1a8]
push dword [ebp - 0x1ac]
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
push dword [ebp - 0x1c0]
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
add esp, 0xa0
jmp 0x41789f
cmp ecx, 0x64
ja case.default.0x417321
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
push dword [ebp - 0x84]
push dword [ebp - 0x88]
push dword [ebp - 0x8c]
push dword [ebp - 0x90]
push dword [ebp - 0x94]
push dword [ebp - 0x98]
push dword [ebp - 0x9c]
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
push dword [ebp - 0xa8]
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
push dword [ebp - 0xc0]
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
push dword [ebp - 0xd4]
push dword [ebp - 0xd8]
push dword [ebp - 0xdc]
push dword [ebp - 0xe0]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [ebp - 0xec]
push dword [ebp - 0xf0]
push dword [ebp - 0xf4]
push dword [ebp - 0xf8]
push dword [ebp - 0xfc]
push dword [ebp - 0x100]
push dword [ebp - 0x104]
push dword [ebp - 0x108]
push dword [ebp - 0x10c]
push dword [ebp - 0x110]
push dword [ebp - 0x114]
push dword [ebp - 0x118]
push dword [ebp - 0x11c]
push dword [ebp - 0x120]
push dword [ebp - 0x124]
push dword [ebp - 0x128]
push dword [ebp - 0x12c]
push dword [ebp - 0x130]
push dword [ebp - 0x134]
push dword [ebp - 0x138]
push dword [ebp - 0x13c]
push dword [ebp - 0x140]
push dword [ebp - 0x144]
push dword [ebp - 0x148]
push dword [ebp - 0x14c]
push dword [ebp - 0x150]
push dword [ebp - 0x154]
push dword [ebp - 0x158]
push dword [ebp - 0x15c]
push dword [ebp - 0x160]
push dword [ebp - 0x164]
push dword [ebp - 0x168]
push dword [ebp - 0x16c]
push dword [ebp - 0x170]
push dword [ebp - 0x174]
push dword [ebp - 0x178]
push dword [ebp - 0x17c]
push dword [ebp - 0x180]
push dword [ebp - 0x184]
push dword [ebp - 0x188]
push dword [ebp - 0x18c]
push dword [ebp - 0x190]
push dword [ebp - 0x194]
push dword [ebp - 0x198]
push dword [ebp - 0x19c]
push dword [ebp - 0x1a0]
push dword [ebp - 0x1a4]
push dword [ebp - 0x1a8]
push dword [ebp - 0x1ac]
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
push dword [ebp - 0x1c0]
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
add esp, 0x190
jmp 0x41789f
push 0x14
pop eax
cmp eax, ecx
sbb al, al
inc al
cmp ecx, 0x14
mov byte [ebp - 0x19], al
ja case.default.0x417321
jmp dword [ecx*4 + 0x417a11]
call esi
jmp 0x41789f
push dword [ebp - 0x200]
call esi
jmp 0x41789f
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
jmp 0x41789f
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
jmp 0x41789f
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
jmp 0x41789f
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
jmp 0x41789f
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
jmp 0x41789f
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
jmp 0x41789f
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
jmp 0x41789f
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
jmp 0x41789f
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
jmp 0x41789f
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
jmp 0x41789f
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
jmp 0x41789f
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
jmp 0x41789f
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
jmp 0x41789f
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
jmp 0x41789f
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
jmp 0x41789f
push dword [ebp - 0x1c0]
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
jmp 0x41789f
push dword [ebp - 0x1bc]
push dword [ebp - 0x1c0]
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
jmp 0x41789f
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
push dword [ebp - 0x1c0]
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
jmp 0x41789f
push dword [ebp - 0x1b4]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
push dword [ebp - 0x1c0]
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1d4]
push dword [ebp - 0x1d8]
push dword [ebp - 0x1dc]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
call esi
mov dword [ebp - 8], eax
cmp byte [ebp - 1], 0
jg 0x4178b7
cmp dword [ebp + 0x14], 0
je 0x4178b7
push dword [ebp + 0x14]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test bl, bl
je 0x4178d4
call dword [0x48b158]
mov eax, dword [ebp + 8]
not bl
and byte [eax + 0xd], bl
push 0x48b5d4
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp - 0xa], 0
jg 0x4178e3
push dword [ebp - 0x3c]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov eax, dword [ebp - 0x21c]
or eax, dword [ebp - 0x218]
je 0x4178f7
cmp byte [ebp - 0xa], 0
jg 0x4178fc
call fcn.0040a118
mov eax, dword [ebp - 0x24]
mov ax, word [eax]
test ax, ax
je 0x41794f
cmp ax, 0x2a
je 0x417928
cmp byte [ebp - 0x19], 0
je 0x417928
mov eax, dword [ebp - 8]
cdq
push edx
push eax
lea eax, [ebp - 0x294]
push eax
call fcn.00434163
add esp, 0xc
and dword [ebp - 8], 0
xor ebx, ebx
mov ecx, dword [ebp - 0x24]
mov ax, word [ecx]
cmp ax, bx
je 0x41794f
cmp ax, 0x2a
je 0x41794f
lea eax, [ebp - 0x294]
push eax
push ecx
mov ecx, dword [ebp + 8]
call fcn.00428e1b
mov esi, dword [ebp - 0x210]
test esi, esi
jge 0x417972
mov eax, dword [ebp + esi*4 - 0x790]
test eax, eax
je 0x41796f
lea ecx, [ebp + 8]
mov dword [ebp + 8], eax
call fcn.00424686
inc esi
js 0x417959
lea ecx, [ebp - 0x3c]
call fcn.00424686
lea ecx, [ebp - 0x214]
call fcn.00412e21
lea ecx, [ebp - 0x24]
call fcn.00424686
lea ecx, [ebp - 0x40]
call fcn.00424686
mov eax, dword [ebp - 8]
jmp 0x4179c6
lea ecx, [ebp - 0x214]
call fcn.00412e21
lea ecx, [ebp - 0x24]
call fcn.00424686
lea ecx, [ebp - 0x40]
call fcn.00424686
mov al, byte [ebp - 0xd]
neg al
sbb eax, eax
and eax, 0x7ff8ffa9
add eax, 0x80070057
pop edi
pop esi
pop ebx
leave
ret 0x10