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

Disassembly:
mov eax, 0x12c0
call fcn.00415ad0
push esi
mov esi, dword [esp + 0x12c8]
mov dword [esp + 0xc], esi
cmp byte [esi], 0
je 0x40a50a
push ebx
push ebp
push edi
mov dl, byte [esi]
xor ebp, ebp
cmp dl, 0xa
mov dword [esp + 0x20], ebp
je 0x408791
lea ebx, [esp + 0x518]
cmp dl, 0xd
je 0x408789
mov ecx, 7
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
test dl, dl
stosb byte es:[edi], al
je 0x408778
mov eax, ebx
cmp dl, 0xa
je 0x408778
cmp dl, 0xd
je 0x408778
cmp dl, 0x3a
je 0x408778
inc esi
mov byte [eax], dl
inc eax
mov dl, byte [esi]
test dl, dl
jne 0x40875f
cmp byte [esi], 0x3a
jne 0x40877e
inc esi
mov dl, byte [esi]
inc ebp
add ebx, 0x1f
cmp dl, 0xa
jne 0x408746
mov dword [esp + 0x20], ebp
mov dword [esp + 0x18], esi
mov al, byte [esi]
cmp al, 0xa
je 0x40879b
cmp al, 0xd
jne 0x40879e
inc esi
jmp 0x408791
xor eax, eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x1c], eax
jmp 0x4087b6
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x24], 0xffffffff
jne 0x40a4f4
lea esi, [eax*8]
sub esi, eax
lea eax, [esp + 0x518]
lea esi, [esi + esi*2 + 0x422078]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x408800
test cl, cl
je 0x4087fc
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x408800
add eax, 2
add esi, 2
test cl, cl
jne 0x4087d8
xor eax, eax
jmp 0x408805
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne case.default.0x40881e
mov eax, dword [esp + 0x1c]
cmp eax, 0x1d
mov dword [esp + 0x24], eax
ja case.default.0x40881e
jmp dword [eax*4 + 0x40a514]
lea ecx, [esp + 0x537]
push ecx
call fcn.00415aba
add esp, 4
mov dword [0x44abe8], eax
test eax, eax
jl case.default.0x40881e
cmp eax, 0xfa00
jge case.default.0x40881e
lea edx, [eax + eax*8]
lea eax, [edx*4 + 0x44e0c8]
mov dword [0x44abf4], eax
cmp byte [eax], 0
jne case.default.0x40881e
mov byte [eax], 1
mov eax, dword [0x44abf4]
mov ecx, dword [0x430738]
mov edi, 0x4325d8
mov dword [eax + 4], ecx
mov edx, dword [0x44abf4]
or ecx, 0xffffffff
xor eax, eax
add edx, 8
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x44abf4]
mov byte [ecx + 0x1f], 0xff
mov edx, dword [0x44abf4]
mov byte [edx + 0x20], 0xff
mov eax, dword [0x44abf4]
mov byte [eax + 0x21], 0xff
mov ecx, dword [0x44abf4]
lea eax, [esp + 0x556]
mov byte [ecx + 0x22], 0xff
mov edx, dword [0x44abf4]
push eax
mov byte [edx + 0x1e], 1
mov dword [0x44abf8], 1
mov dword [0x44abec], 2
call fcn.00415aba
add esp, 4
mov dword [0x44a96c], eax
lea edi, [esp + 0x575]
mov esi, 0x44aca8
mov ebp, 0x14
push edi
call fcn.00415aba
mov dword [esi], eax
add esp, 4
add edi, 0x1f
add esi, 0xc4
dec ebp
jne 0x40890c
cmp esi, 0x44da98
jl 0x408907
mov ecx, dword [0x44abf4]
lea edx, [esp + 0x1000]
add ecx, 8
push ecx
push 0x421f48
push edx
call fcn.004154c8
lea eax, [esp + 0x100c]
push eax
push 0
push 0xffffffffffffffff
call fcn.00401000
add esp, 0x18
jmp case.default.0x40881e
mov ecx, dword [esp + 0x20]
lea eax, [ecx - 1]
cdq
and edx, 3
add eax, edx
sar eax, 2
test eax, eax
jle case.default.0x40881e
lea ebp, [esp + 0x556]
mov ebx, eax
lea edx, [ebp - 0x1f]
push edx
call fcn.00415aba
push ebp
mov esi, eax
call fcn.00415aba
add esp, 8
test esi, esi
jl 0x408a7e
cmp esi, 0xfa00
jge 0x408a7e
lea ecx, [esi + esi*8]
lea ecx, [ecx*4 + 0x44e0c8]
mov dword [0x44a9f8], ecx
cmp byte [ecx], 0
jne 0x408a7e
mov byte [ecx], 1
mov edx, dword [0x44a9f8]
lea edi, [ebp + 0x1f]
or ecx, 0xffffffff
mov dword [edx + 4], eax
mov eax, dword [0x44a9f8]
lea edx, [eax + 8]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp + 0x3e]
push ecx
call fcn.00415aba
mov edx, dword [0x44a9f8]
add esp, 4
mov byte [edx + 0x1f], al
mov eax, dword [0x44a9f8]
mov byte [eax + 0x20], 0xff
mov ecx, dword [0x44a9f8]
mov byte [ecx + 0x21], 0xff
mov edx, dword [0x44a9f8]
mov byte [edx + 0x22], 0xff
mov eax, dword [0x44a9f8]
mov byte [eax + 0x1e], 1
mov ecx, dword [0x44a9f8]
mov byte [ecx + 0x23], 0
mov eax, dword [0x680918]
test eax, eax
jle 0x408a7e
xor esi, esi
test eax, eax
jle 0x408a7e
mov edi, 0x44da10
mov edx, dword [0x44a9f8]
add edx, 8
push edx
push edi
call fcn.0041c680
add esp, 8
test eax, eax
je 0x408a75
mov eax, dword [0x680918]
inc esi
add edi, 0x11
cmp esi, eax
jl 0x408a4f
jmp 0x408a7e
mov eax, dword [0x44a9f8]
mov byte [eax + 0x23], 1
add ebp, 0x7c
dec ebx
jne 0x408981
jmp case.default.0x40881e
lea ecx, [esp + 0x537]
push ecx
call fcn.00415aba
add esp, 4
test eax, eax
jl case.default.0x40881e
cmp eax, 0xfa00
jge case.default.0x40881e
lea edx, [eax + eax*8]
mov al, byte [edx*4 + 0x44e0c8]
test al, al
lea ebp, [edx*4 + 0x44e0c8]
jne case.default.0x40881e
lea eax, [esp + 0x556]
mov byte [ebp], 1
push eax
call fcn.00415aba
mov dword [ebp + 4], eax
lea edi, [esp + 0x579]
or ecx, 0xffffffff
xor eax, eax
add esp, 4
lea ebx, [ebp + 8]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [ebp + 0x1f], 0xff
mov byte [ebp + 0x20], 0xff
mov byte [ebp + 0x21], 0xff
mov byte [ebp + 0x22], 0xff
mov byte [ebp + 0x1e], 1
mov byte [ebp + 0x23], al
mov eax, dword [0x680918]
test eax, eax
jle 0x408b53
xor esi, esi
test eax, eax
jle 0x408b53
mov edi, 0x44da10
push ebx
push edi
call fcn.0041c680
add esp, 8
test eax, eax
je 0x408b4f
mov eax, dword [0x680918]
inc esi
add edi, 0x11
cmp esi, eax
jl 0x408b32
jmp 0x408b53
mov byte [ebp + 0x23], 1
mov ecx, dword [0x44a96c]
push ebx
inc ecx
mov dword [0x44a96c], ecx
mov al, byte [ebp + 0x23]
cmp al, 1
jne 0x408b77
lea eax, [esp + 0x1e8]
push 0x422598
push eax
jmp 0x408b84
lea ecx, [esp + 0x1e8]
push 0x422574
push ecx
call fcn.004154c8
add esp, 0xc
lea edx, [esp + 0x1e4]
push edx
push 0
push 0xffffffffffffffff
call fcn.00401000
add esp, 0xc
jmp case.default.0x40881e
lea eax, [esp + 0x537]
push eax
call fcn.00415aba
add esp, 4
test eax, eax
jl case.default.0x40881e
cmp eax, 0xfa00
jge case.default.0x40881e
lea ecx, [eax + eax*8]
mov al, byte [ecx*4 + 0x44e0c8]
cmp al, 1
lea edi, [ecx*4 + 0x44e0c8]
jne case.default.0x40881e
movsx ecx, byte [edi + 0x1f]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov esi, edx
mov ecx, 0x14
cdq
idiv ecx
movsx ebp, byte [edi + 0x20]
movsx ebx, byte [edi + 0x22]
movsx ecx, byte [edi + 0x21]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
test edx, edx
jl 0x408d38
test ebp, ebp
jl 0x408c4b
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
lea ebx, [eax + eax*2]
shl ebx, 4
add ebp, ebx
add eax, ebp
mov ebp, dword [esp + 0x10]
mov ebx, dword [eax*4 + 0x44acac]
lea eax, [eax*4 + 0x44acac]
dec ebx
mov dword [eax], ebx
mov ebx, dword [esp + 0x14]
lea eax, [esi + esi*4]
mov esi, dword [0x44abf4]
lea edx, [edx + eax*4]
lea eax, [edx + edx*2]
shl eax, 4
add eax, edx
mov edx, dword [eax*4 + 0x44aca8]
dec edx
lea eax, [eax*4 + 0x44aca8]
mov dword [eax], edx
mov dl, byte [edi + 0x1f]
cmp dl, byte [esi + 0x1f]
jne 0x408d38
movsx eax, byte [esi + 0x20]
cmp ebp, eax
jne 0x408d38
test ecx, ecx
jl 0x408d38
test ebx, ebx
jl 0x408d38
jne 0x408d14
mov ebp, dword [0x44abe8]
lea esi, [ecx + ecx*2]
shl esi, 3
mov ebx, 4
lea edx, [esi + 0x44aa0c]
mov ecx, dword [edx]
test ecx, ecx
jl 0x408cf4
lea eax, [ecx + ecx*8]
shl eax, 2
cmp ecx, ebp
mov byte [eax + 0x44e0e9], 0xff
mov byte [eax + 0x44e0ea], 0xff
mov byte [eax + 0x44e0e6], 1
jne 0x408cf4
mov dword [0x44ac00], 0xffffffff
mov dword [0x44abf8], 1
mov dword [0x44abec], 4
mov dword [edx], 0xffffffff
add edx, 4
dec ebx
jne 0x408cb1
mov eax, dword [0x44a830]
mov byte [esi + 0x44aa08], 0
dec eax
mov dword [0x44a830], eax
jmp 0x408d38
lea edx, [ecx + ecx*2]
lea ecx, [ecx + ecx*2]
lea eax, [ebx + edx*2]
mov dword [eax*4 + 0x44aa0c], 0xffffffff
mov al, byte [ecx*8 + 0x44aa08]
dec al
mov byte [ecx*8 + 0x44aa08], al
mov ecx, 9
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [0x44a96c]
mov byte [0x42263c], 1
dec eax
mov dword [0x44a96c], eax
jmp case.default.0x40881e
mov dword [0x44abf8], 0
jmp case.default.0x40881e
lea ecx, [esp + 0x537]
push ecx
call fcn.00415aba
lea edx, [esp + 0x55a]
mov esi, eax
push edx
call fcn.00415aba
lea ecx, [esp + 0x57d]
mov byte [esp + 0x59c], 0
push ecx
push eax
push esi
call fcn.00401000
add esp, 0x14
jmp case.default.0x40881e
lea edx, [esp + 0x537]
push edx
call fcn.00415aba
add esp, 4
mov dword [0x44a96c], eax
mov byte [0x42263c], 1
jmp case.default.0x40881e
lea eax, [esp + 0x537]
push eax
call fcn.00415aba
add esp, 4
mov dword [0x44a96c], eax
mov esi, 0x44aca8
lea edi, [esp + 0x556]
push edi
call fcn.00415aba
mov dword [esi], eax
add esi, 0xc4
add esp, 4
add edi, 0x1f
cmp esi, 0x44aef4
jl 0x408de4
mov byte [0x42263c], 1
jmp case.default.0x40881e
lea ecx, [esp + 0x537]
push ecx
call fcn.00415aba
lea edx, [esp + 0x55a]
mov esi, eax
push edx
call fcn.00415aba
lea ecx, [esi + esi*2]
add esp, 8
shl ecx, 4
add ecx, esi
mov byte [0x42263c], 1
mov dword [ecx*4 + 0x44aca8], eax
jmp case.default.0x40881e
lea edx, [esp + 0x537]
push edx
call fcn.00415aba
mov esi, eax
lea eax, [esp + 0x55a]
push eax
call fcn.00415aba
lea ecx, [esp + 0x57d]
mov ebx, eax
push ecx
call fcn.00415aba
lea edi, [esi + esi*8]
mov dword [esp + 0x1c], eax
shl edi, 2
mov eax, 0x66666667
add esp, 0xc
movsx ecx, byte [edi + 0x44e0e7]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov ebp, edx
mov ecx, 0x14
cdq
idiv ecx
test esi, esi
mov dword [esp + 0x14], edx
jl 0x409012
cmp esi, 0xfa00
jge 0x409012
cmp byte [edi + 0x44e0c8], 1
jne 0x409012
test ebp, ebp
jl 0x408ffb
cmp ebp, 3
jge 0x408ffb
test edx, edx
jl 0x408fe4
cmp edx, ecx
jge 0x408fe4
test ebx, ebx
jl 0x408f2b
cmp ebx, 0xa
jge 0x408f2b
lea eax, [ebp + ebp*4]
lea eax, [edx + eax*4]
lea ecx, [eax + eax*2]
shl ecx, 4
add ebx, ecx
add eax, ebx
mov ecx, dword [eax*4 + 0x44acac]
lea eax, [eax*4 + 0x44acac]
dec ecx
mov dword [eax], ecx
jns 0x408f2b
push 0x42fd50
push 0x422554
call fcn.00401470
mov edx, dword [esp + 0x1c]
add esp, 8
mov ecx, dword [esp + 0x10]
test ecx, ecx
jl 0x408fcd
cmp ecx, 0xa
jge 0x408fcd
lea eax, [ebp + ebp*4]
mov ebx, ecx
mov byte [edi + 0x44e0e8], cl
mov byte [0x42263c], 1
lea edx, [edx + eax*4]
lea eax, [edx + edx*2]
shl eax, 4
add ebx, eax
mov eax, edx
add eax, ebx
mov ebx, dword [eax*4 + 0x44acac]
inc ebx
lea eax, [eax*4 + 0x44acac]
mov dword [eax], ebx
mov eax, dword [0x44abe8]
cmp esi, eax
jne case.default.0x40881e
mov ecx, 0x78
xor eax, eax
mov edi, 0x44aa08
mov dword [0x44a830], eax
rep stosd dword es:[edi], eax
lea ecx, [edx + edx*2]
mov eax, 0x44aa0c
shl ecx, 4
add ecx, edx
mov cl, byte [ecx*4 + 0x44aca3]
mov esi, eax
or edx, 0xffffffff
mov byte [eax + 0x10], cl
add eax, 0x18
mov dword [esi], edx
cmp eax, 0x44abec
mov dword [esi + 4], edx
mov dword [esi + 8], edx
mov dword [esi + 0xc], edx
mov byte [eax - 0x1c], 0
jl 0x408fa7
jmp case.default.0x40881e
push 0x42fd50
push 0x42253c
call fcn.00401470
add esp, 8
jmp case.default.0x40881e
push 0x42fd50
push 0x422520
call fcn.00401470
add esp, 8
jmp case.default.0x40881e
push 0x42fd50
push 0x422504
call fcn.00401470
add esp, 8
jmp case.default.0x40881e
push 0x42fd50
push 0x4224e8
call fcn.00401470
add esp, 8
jmp case.default.0x40881e
lea eax, [esp + 0x537]
push eax
call fcn.00415aba
lea ecx, [esp + 0x55a]
mov esi, eax
push ecx
call fcn.00415aba
lea edx, [esp + 0x57d]
mov ebx, eax
push edx
call fcn.00415aba
add esp, 0xc
mov edx, eax
test esi, esi
jl 0x409100
cmp esi, 0xfa00
jge 0x409100
lea esi, [esi + esi*8]
shl esi, 2
cmp byte [esi + 0x44e0c8], 1
jne 0x409100
test ebx, ebx
jl 0x4091c4
cmp ebx, 3
jge 0x4091c4
test edx, edx
jl 0x4091ad
cmp edx, 0x14
jge 0x4091ad
lea eax, [ebx + ebx*4]
lea edi, [esp + 0x594]
lea eax, [edx + eax*4]
lea ecx, [eax + eax*2]
shl ecx, 4
add ecx, eax
mov al, bl
mov bl, 0x14
imul bl
shl ecx, 2
mov ebx, 0xa
mov ebp, dword [ecx + 0x44aca8]
inc ebp
add al, dl
mov byte [esi + 0x44e0e7], al
mov dword [ecx + 0x44aca8], ebp
lea esi, [ecx + 0x44acac]
push edi
call fcn.00415aba
mov dword [esi], eax
add esp, 4
add esi, 4
add edi, 0x1f
dec ebx
jne 0x4090e0
mov byte [0x42263c], 1
jmp case.default.0x40881e
push 0x42fd50
push 0x4224cc
call fcn.00401470
add esp, 8
jmp case.default.0x40881e
lea ecx, [esp + 0x537]
push ecx
call fcn.00415aba
lea edx, [esp + 0x55a]
mov esi, eax
push edx
call fcn.00415aba
mov ebx, eax
lea eax, [esp + 0x57d]
push eax
call fcn.00415aba
add esp, 0xc
mov ecx, eax
test esi, esi
jl 0x409100
cmp esi, 0xfa00
jge 0x409100
lea esi, [esi + esi*8]
shl esi, 2
cmp byte [esi + 0x44e0c8], 1
jne 0x409100
test ebx, ebx
jl 0x4091c4
cmp ebx, 3
jge 0x4091c4
test ecx, ecx
jl 0x4091ad
cmp ecx, 0x14
jge 0x4091ad
lea edx, [ebx + ebx*4]
mov byte [0x42263c], 1
lea eax, [ecx + edx*4]
lea edx, [eax + eax*2]
shl edx, 4
add edx, eax
mov edi, dword [edx*4 + 0x44aca8]
lea eax, [edx*4 + 0x44aca8]
inc edi
mov dl, 0x14
mov dword [eax], edi
mov al, bl
imul dl
add al, cl
mov byte [esi + 0x44e0e7], al
jmp case.default.0x40881e
push 0x42fd50
push 0x4224b8
call fcn.00401470
add esp, 8
jmp case.default.0x40881e
push 0x42fd50
push 0x4224a4
call fcn.00401470
add esp, 8
jmp case.default.0x40881e
lea eax, [esp + 0x537]
push eax
call fcn.00415aba
lea ecx, [esp + 0x55a]
mov edi, eax
push ecx
call fcn.00415aba
lea edx, [esp + 0x57d]
mov esi, eax
push edx
call fcn.00415aba
add esp, 0xc
mov ebx, eax
test edi, edi
jl 0x409304
cmp edi, 0xfa00
jge 0x409304
lea edi, [edi + edi*8]
shl edi, 2
cmp byte [edi + 0x44e0c8], 1
jne 0x409304
movsx ecx, byte [edi + 0x44e0e8]
test ecx, ecx
jl 0x40927e
cmp ecx, 0xa
jge 0x40927e
lea eax, [esi + esi*4]
lea eax, [ebx + eax*4]
lea edx, [eax + eax*2]
shl edx, 4
add ecx, edx
add eax, ecx
mov ecx, dword [eax*4 + 0x44acac]
dec ecx
lea eax, [eax*4 + 0x44acac]
mov dword [eax], ecx
jns 0x409277
push 0x42fd50
push 0x422484
call fcn.00401470
add esp, 8
mov byte [edi + 0x44e0e8], 0xff
test esi, esi
jl 0x4092ed
cmp esi, 3
jge 0x4092ed
test ebx, ebx
jl 0x4092d6
cmp ebx, 0x14
jge 0x4092d6
lea eax, [esi + esi*4]
lea eax, [ebx + eax*4]
lea ecx, [eax + eax*2]
shl ecx, 4
add ecx, eax
lea eax, [ecx*4 + 0x44aca8]
mov ecx, dword [ecx*4 + 0x44aca8]
dec ecx
mov dword [eax], ecx
jns 0x4092c3
push 0x42fd50
push 0x422484
call fcn.00401470
add esp, 8
mov byte [edi + 0x44e0e7], 0xff
mov byte [0x42263c], 1
jmp case.default.0x40881e
push 0x42fd50
push 0x422464
call fcn.00401470
add esp, 8
jmp case.default.0x40881e
push 0x42fd50
push 0x422444
call fcn.00401470
add esp, 8
jmp case.default.0x40881e
push 0x42fd50
push 0x422428
call fcn.00401470
add esp, 8
jmp case.default.0x40881e
lea edx, [esp + 0x537]
push edx
call fcn.00415aba
mov edi, eax
add esp, 4
test edi, edi
jl case.default.0x40881e
cmp edi, 0xfa00
jge case.default.0x40881e
lea eax, [edi + edi*8]
lea esi, [eax*4 + 0x44e0c8]
mov al, byte [eax*4 + 0x44e0c8]
cmp al, 1
jne case.default.0x40881e
lea ecx, [esp + 0x556]
push ecx
call fcn.00415aba
lea edx, [esp + 0x579]
mov dword [esi + 4], eax
push edx
call fcn.00415aba
mov byte [esi + 0x1e], al
mov eax, dword [0x44abf4]
mov cl, byte [eax + 0x1f]
mov byte [esi + 0x1f], cl
mov edx, dword [0x44abf4]
lea ecx, [esp + 0x59c]
mov al, byte [edx + 0x20]
push ecx
mov byte [esi + 0x20], al
call fcn.00415aba
lea edx, [esp + 0x5bf]
mov byte [esi + 0x21], al
push edx
call fcn.00415aba
mov cl, byte [esi + 0x21]
add esp, 0x10
test cl, cl
mov byte [esi + 0x22], al
jl 0x409428
test al, al
jl 0x409428
movsx ecx, cl
movsx eax, al
lea edx, [ecx + ecx*2]
lea edx, [eax + edx*2]
lea eax, [ecx + ecx*2]
shl eax, 3
mov dword [edx*4 + 0x44aa0c], edi
mov dl, byte [eax + 0x44aa08]
inc dl
mov cl, dl
mov byte [eax + 0x44aa08], dl
cmp cl, 1
jne 0x409408
mov ecx, dword [0x44a830]
mov byte [eax + 0x44aa1d], 0
inc ecx
mov byte [eax + 0x44aa1e], 4
mov dword [0x44a830], ecx
cmp byte [esi + 0x1e], 3
jne 0x409415
mov byte [eax + 0x44aa1d], 1
mov cl, byte [esi + 0x22]
mov dl, byte [eax + 0x44aa1e]
cmp cl, dl
jge 0x409428
mov byte [eax + 0x44aa1e], cl
inc dword [0x432618]
jmp case.default.0x40881e
lea eax, [esp + 0x537]
push eax
call fcn.00415aba
lea ecx, [esp + 0x55a]
mov esi, eax
push ecx
call fcn.00415aba
add esp, 8
test esi, esi
jl case.default.0x40881e
cmp esi, 0xfa00
jge case.default.0x40881e
lea edx, [esi + esi*8]
mov cl, byte [edx*4 + 0x44e0c8]
lea edx, [edx*4 + 0x44e0c8]
cmp cl, 1
jne case.default.0x40881e
cmp dword [0x44abec], 3
jle case.default.0x40881e
mov edi, dword [0x44abf4]
mov bl, byte [edx + 0x1f]
mov cl, byte [edi + 0x1f]
cmp cl, bl
jne case.default.0x40881e
mov cl, byte [edi + 0x20]
mov bl, byte [edx + 0x20]
cmp cl, bl
jne case.default.0x40881e
lea ecx, [eax + eax*2]
shl ecx, 3
mov bl, byte [ecx + 0x44aa08]
test bl, bl
jne case.default.0x40881e
cmp dword [ecx + 0x44aa0c], 0xffffffff
jne case.default.0x40881e
mov byte [edx + 0x21], al
mov byte [edx + 0x22], 0
mov eax, dword [0x44a780]
mov edi, dword [0x44da04]
lea eax, [eax + eax*4]
lea eax, [edi + eax*4]
lea edi, [eax + eax*2]
shl edi, 4
add edi, eax
mov al, byte [edi*4 + 0x44aca3]
mov byte [ecx + 0x44aa1c], al
or eax, 0xffffffff
mov dword [ecx + 0x44aa0c], esi
mov dword [ecx + 0x44aa10], eax
mov dword [ecx + 0x44aa14], eax
mov dword [ecx + 0x44aa18], eax
mov byte [ecx + 0x44aa08], 1
mov al, byte [edx + 0x22]
mov byte [ecx + 0x44aa1e], al
mov ecx, dword [0x44a830]
mov eax, dword [0x44abe8]
inc ecx
cmp esi, eax
mov dword [0x44a830], ecx
jne case.default.0x40881e
movsx ecx, byte [edx + 0x21]
mov dword [0x44ac00], ecx
call fcn.00403490
push 0
call fcn.004051b0
add esp, 4
call fcn.0040ad70
mov edx, dword [0x44abf4]
mov byte [edx + 0x1e], 2
mov dword [0x44abf8], 2
mov dword [0x44abec], 6
jmp case.default.0x40881e
lea eax, [esp + 0x537]
push eax
call fcn.00415aba
lea ecx, [esp + 0x55a]
mov edi, eax
push ecx
call fcn.00415aba
lea edx, [esp + 0x57d]
mov ebx, eax
push edx
call fcn.00415aba
add esp, 0xc
test edi, edi
jl case.default.0x40881e
cmp edi, 0xfa00
jge case.default.0x40881e
lea ecx, [edi + edi*8]
lea esi, [ecx*4 + 0x44e0c8]
mov cl, byte [ecx*4 + 0x44e0c8]
cmp cl, 1
jne case.default.0x40881e
cmp dword [0x44abec], 3
jle case.default.0x40881e
mov ecx, dword [0x44abf4]
mov dl, byte [ecx + 0x1f]
cmp dl, byte [esi + 0x1f]
jne case.default.0x40881e
mov cl, byte [ecx + 0x20]
mov dl, byte [esi + 0x20]
cmp cl, dl
jne case.default.0x40881e
lea edx, [ebx + ebx*2]
mov cl, byte [edx*8 + 0x44aa08]
test cl, cl
jle case.default.0x40881e
mov byte [esi + 0x21], bl
mov byte [esi + 0x22], al
cmp edi, dword [0x44abe8]
jne 0x409653
mov eax, dword [0x44abf4]
mov byte [eax + 0x1e], 2
mov dword [0x44abf8], 2
mov dword [0x44abec], 7
call fcn.00403490
call fcn.0040ad70
movsx eax, byte [esi + 0x21]
movsx edx, byte [esi + 0x22]
lea ecx, [eax + eax*2]
lea eax, [edx + ecx*2]
mov dword [eax*4 + 0x44aa0c], edi
movsx eax, byte [esi + 0x21]
lea eax, [eax + eax*2]
inc byte [eax*8 + 0x44aa08]
jmp case.default.0x40881e
lea ecx, [esp + 0x537]
push ecx
call fcn.00415aba
add esp, 4
test eax, eax
jl case.default.0x40881e
cmp eax, 0xfa00
jge case.default.0x40881e
lea edx, [eax + eax*8]
mov al, byte [edx*4 + 0x44e0c8]
cmp al, 1
lea esi, [edx*4 + 0x44e0c8]
jne case.default.0x40881e
movsx ecx, byte [esi + 0x1f]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov edi, edx
mov ecx, 0x14
cdq
idiv ecx
mov ebp, edx
lea edx, [esp + 0x556]
push edx
call fcn.00415aba
movsx ecx, byte [esi + 0x22]
movsx ebx, byte [esi + 0x21]
add esp, 4
mov dword [esp + 0x10], ecx
test edi, edi
jl 0x4097ea
cmp edi, 3
jge 0x4097ea
test ebp, ebp
jl 0x4097d3
cmp ebp, 0x14
jge 0x4097d3
test eax, eax
jl 0x4097bc
cmp eax, 0xa
jge 0x4097bc
lea edx, [edi + edi*4]
lea ecx, [ebp + edx*4]
lea edx, [ecx + ecx*2]
shl edx, 4
add eax, edx
add ecx, eax
mov eax, dword [ecx*4 + 0x44acac]
dec eax
lea ecx, [ecx*4 + 0x44acac]
mov dword [ecx], eax
jns 0x40975f
push 0x42fd50
push 0x422408
call fcn.00401470
add esp, 8
test ebx, ebx
jl 0x4097a4
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x4097a4
lea ecx, [ebx + ebx*2]
lea edx, [eax + ecx*2]
lea eax, [ebx + ebx*2]
shl eax, 3
mov dword [edx*4 + 0x44aa0c], 0xffffffff
mov cl, byte [eax + 0x44aa08]
dec cl
mov byte [eax + 0x44aa08], cl
jne 0x4097a4
mov byte [eax + 0x44aa1d], 0
mov eax, dword [0x44a830]
dec eax
mov dword [0x44a830], eax
mov byte [esi + 0x20], 0xff
mov byte [esi + 0x21], 0xff
mov byte [esi + 0x22], 0xff
mov byte [0x42263c], 1
jmp case.default.0x40881e
push 0x42fd50
push 0x4223e8
call fcn.00401470
add esp, 8
jmp case.default.0x40881e
push 0x42fd50
push 0x4223c8
call fcn.00401470
add esp, 8
jmp case.default.0x40881e
push 0x42fd50
push 0x4223a8
call fcn.00401470
add esp, 8
jmp case.default.0x40881e
mov eax, dword [0x680980]
test eax, eax
jne 0x40980f
call fcn.0040a5a0
push 0
call fcn.004021c0
add esp, 4
lea eax, [esp + 0x11cc]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov eax, dword [0x6808c8]
test eax, eax
jne 0x409858
xor esi, esi
push esi
push 0x42ca50
call fcn.00414720
add esp, 8
inc esi
cmp esi, 5
jle 0x409837
push 0x42ca50
call fcn.00413ce0
add esp, 4
mov ecx, dword [0x44abf4]
mov byte [ecx + 0x1e], 3
mov eax, dword [0x44ac00]
mov ecx, dword [0x44da04]
lea edx, [eax + eax*2]
mov eax, dword [0x44a780]
lea eax, [eax + eax*4]
mov byte [edx*8 + 0x44aa1d], 1
lea eax, [ecx + eax*4]
lea edx, [eax + eax*2]
shl edx, 4
add edx, eax
lea eax, [edx*4 + 0x44ac1c]
push eax
call fcn.0041c96c
mov eax, dword [0x44a780]
mov edx, dword [0x44da04]
add esp, 4
lea ebx, [esp + 0xe0]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
or ecx, 0xffffffff
lea edx, [eax + eax*2]
shl edx, 4
add edx, eax
xor eax, eax
shl edx, 2
lea edi, [edx + 0x44ac1c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
lea ebx, [esp + 0xe0]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [edx + 0x44ac77]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov al, byte [edx + 0x44aca1]
mov ecx, ebp
and ecx, 3
test al, al
rep movsb byte es:[edi], byte [esi]
jne 0x4099d0
push 0x4325d8
lea ecx, [esp + 0x1174]
push 0x422398
push ecx
call fcn.004154c8
mov edx, dword [0x44abf4]
lea ecx, [esp + 0x1120]
movsx eax, byte [edx + 0x20]
push eax
push 0x422390
push ecx
call fcn.004154c8
mov edx, dword [0x44abf4]
lea ecx, [esp + 0x1074]
movsx eax, byte [edx + 0x21]
push eax
push 0x422388
push ecx
call fcn.004154c8
mov edx, dword [0x44abf4]
lea ecx, [esp + 0x10dc]
movsx eax, byte [edx + 0x22]
push eax
push 0x422380
push ecx
call fcn.004154c8
lea edx, [esp + 0x10e8]
push 0
lea eax, [esp + 0x1090]
push edx
lea ecx, [esp + 0x114c]
push eax
lea edx, [esp + 0x11ac]
push ecx
lea eax, [esp + 0x120]
push edx
lea ecx, [esp + 0x124]
push eax
push ecx
push 0
call fcn.0041c954
add esp, 0x50
jmp case.default.0x409a93
mov ecx, dword [0x44ac00]
xor ebx, ebx
xor edi, edi
xor esi, esi
lea edx, [ecx + ecx*2]
lea eax, [edi + edx*2]
mov eax, dword [eax*4 + 0x44aa0c]
test eax, eax
jl 0x409a3f
lea ecx, [eax + eax*8]
lea eax, [esp + esi + 0x240]
lea edx, [ecx*4 + 0x44e0d0]
push edx
push 0x42237c
push eax
call fcn.004154c8
mov eax, dword [0x44e0b4]
mov edx, dword [0x44ac00]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
lea edx, [esp + esi + 0x3b8]
lea ecx, [edi + eax*4 + 1]
push ecx
push 0x422374
push edx
call fcn.004154c8
mov ecx, dword [0x44ac00]
add esp, 0x18
inc ebx
add esi, 0x5b
inc edi
cmp edi, 4
jl 0x4099dc
mov eax, dword [0x44abf4]
lea edx, [esp + 0x84]
movsx ecx, byte [eax + 0x22]
push ecx
push 0x421ff0
push edx
call fcn.004154c8
mov ecx, dword [0x44abf4]
movsx eax, byte [ecx + 0x20]
movsx ecx, byte [ecx + 0x21]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*4 + 1]
lea eax, [esp + 0x34]
push edx
push 0x421ff0
push eax
call fcn.004154c8
add esp, 0x18
dec ebx
cmp ebx, 3
ja case.default.0x409a93
jmp dword [ebx*4 + 0x40a58c]
lea ecx, [esp + 0x3ac]
push 0
lea edx, [esp + 0x244]
push ecx
lea eax, [esp + 0x30]
push edx
lea ecx, [esp + 0x90]
push eax
push ecx
lea edx, [esp + 0xf4]
push 0x43073c
lea eax, [esp + 0xf8]
push edx
push eax
push 0
call fcn.0041c954
add esp, 0x24
jmp case.default.0x409a93
lea ecx, [esp + 0x407]
push 0
lea edx, [esp + 0x29f]
push ecx
lea eax, [esp + 0x3b4]
push edx
lea ecx, [esp + 0x24c]
push eax
lea edx, [esp + 0x38]
push ecx
lea eax, [esp + 0x98]
push edx
push eax
lea ecx, [esp + 0xfc]
push 0x43073c
lea edx, [esp + 0x100]
push ecx
push edx
push 0
call fcn.0041c954
add esp, 0x2c
jmp case.default.0x409a93
lea eax, [esp + 0x462]
push 0
lea ecx, [esp + 0x2fa]
push eax
lea edx, [esp + 0x40f]
push ecx
lea eax, [esp + 0x2a7]
push edx
lea ecx, [esp + 0x3bc]
push eax
lea edx, [esp + 0x254]
push ecx
lea eax, [esp + 0x40]
push edx
lea ecx, [esp + 0xa0]
push eax
push ecx
lea edx, [esp + 0x104]
push 0x43073c
lea eax, [esp + 0x108]
push edx
push eax
push 0
call fcn.0041c954
add esp, 0x34
jmp case.default.0x409a93
lea ecx, [esp + 0x4bd]
push 0
lea edx, [esp + 0x355]
push ecx
lea eax, [esp + 0x46a]
push edx
lea ecx, [esp + 0x302]
push eax
lea edx, [esp + 0x417]
push ecx
lea eax, [esp + 0x2af]
push edx
lea ecx, [esp + 0x3c4]
push eax
lea edx, [esp + 0x25c]
push ecx
lea eax, [esp + 0x48]
push edx
lea ecx, [esp + 0xa8]
push eax
push ecx
lea edx, [esp + 0x10c]
push 0x43073c
lea eax, [esp + 0x110]
push edx
push eax
push 0
call fcn.0041c954
add esp, 0x3c
push 1
call fcn.0040b300
mov eax, dword [0x680980]
add esp, 4
test eax, eax
je 0x409c16
call fcn.0040a5a0
lea ecx, [esp + 0x11cc]
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov eax, dword [0x6808c8]
test eax, eax
jne 0x409d5d
mov edx, dword [0x430c20]
push 0x42ca50
push 0x430c1c
push edx
call fcn.00413840
add esp, 0xc
test al, al
jge 0x409c6a
push 0x422364
mov dword [0x6808c8], 1
call fcn.004086c0
add esp, 4
jmp case.default.0x40881e
push 0x42
push 0x42ca50
call fcn.00413f30
push 0x42
push 0x42ca50
call fcn.00414020
push 0x422358
push 0x42ca50
call fcn.00414140
add esp, 0x18
cmp eax, 0xffffffff
jne 0x409cab
push 0x422358
push 0x42234c
call fcn.00401470
add esp, 8
push 0x422340
push 0x42ca50
call fcn.00414140
add esp, 8
cmp eax, 0xffffffff
jne 0x409cd4
push 0x422340
push 0x42234c
call fcn.00401470
add esp, 8
push 0x422330
push 0x42ca50
call fcn.00414140
add esp, 8
cmp eax, 0xffffffff
jne 0x409cfd
push 0x422330
push 0x42234c
call fcn.00401470
add esp, 8
push 0x422324
push 0x42ca50
call fcn.00414140
add esp, 8
cmp eax, 0xffffffff
jne 0x409d26
push 0x422324
push 0x42234c
call fcn.00401470
add esp, 8
push 0x422318
push 0x42ca50
call fcn.00414140
add esp, 8
cmp eax, 0xffffffff
jne 0x409d4f
push 0x422318
push 0x42234c
call fcn.00401470
add esp, 8
mov eax, dword [0x6808e8]
push eax
call fcn.0040acc0
add esp, 4
push 0x422364
call fcn.004086c0
add esp, 4
jmp case.default.0x40881e
lea ecx, [esp + 0x537]
push ecx
call fcn.00415aba
add esp, 4
test eax, eax
jl case.default.0x40881e
cmp eax, 0xfa00
jge case.default.0x40881e
cmp dword [0x44abf8], 2
jne case.default.0x40881e
lea edx, [eax + eax*8]
mov al, byte [edx*4 + 0x44e0c8]
cmp al, 1
lea ecx, [edx*4 + 0x44e0c8]
jne case.default.0x40881e
movsx eax, byte [ecx + 0x21]
movsx edx, byte [ecx + 0x22]
test eax, eax
jl case.default.0x40881e
test edx, edx
jl case.default.0x40881e
mov esi, dword [0x44abf4]
movsx esi, byte [esi + 0x21]
cmp eax, esi
jne case.default.0x40881e
test edx, edx
jne 0x409e60
lea edx, [eax + eax*2]
mov dword [0x44ac00], 0xffffffff
shl edx, 3
mov dword [0x44abf8], 1
mov dword [0x44abec], 4
lea ecx, [edx + 0x44aa0c]
mov esi, 4
mov eax, dword [ecx]
test eax, eax
jl 0x409e3c
lea eax, [eax + eax*8]
mov dword [ecx], 0xffffffff
shl eax, 2
mov byte [eax + 0x44e0e9], 0xff
mov byte [eax + 0x44e0ea], 0xff
mov byte [eax + 0x44e0e6], 1
add ecx, 4
dec esi
jne 0x409e15
mov eax, dword [0x44a830]
mov byte [edx + 0x44aa08], 0
dec eax
mov byte [0x42263c], 1
mov dword [0x44a830], eax
jmp case.default.0x40881e
lea esi, [eax + eax*2]
lea eax, [eax + eax*2]
lea edx, [edx + esi*2]
mov dword [edx*4 + 0x44aa0c], 0xffffffff
mov dl, byte [eax*8 + 0x44aa08]
dec dl
mov byte [eax*8 + 0x44aa08], dl
mov byte [ecx + 0x21], 0xff
mov byte [ecx + 0x22], 0xff
mov byte [ecx + 0x1e], 1
mov byte [0x42263c], 1
jmp case.default.0x40881e
lea eax, [esp + 0x537]
push eax
call fcn.00415aba
add esp, 4
test eax, eax
jl case.default.0x40881e
cmp eax, 0xfa00
jge case.default.0x40881e
lea ecx, [eax + eax*8]
lea eax, [ecx*4 + 0x44e0c8]
mov cl, byte [ecx*4 + 0x44e0c8]
cmp cl, 1
jne case.default.0x40881e
mov edi, dword [0x44abf4]
mov dl, byte [eax + 0x1f]
movsx ecx, byte [eax + 0x21]
mov bl, byte [edi + 0x1f]
movsx esi, byte [eax + 0x22]
cmp dl, bl
jne case.default.0x40881e
mov dl, byte [eax + 0x20]
mov bl, byte [edi + 0x20]
cmp dl, bl
jne case.default.0x40881e
test ecx, ecx
jl 0x409fa5
test esi, esi
jl 0x409fa5
movsx edx, byte [edi + 0x21]
cmp ecx, edx
je 0x409fa5
test esi, esi
jne 0x409f75
lea esi, [ecx + ecx*2]
mov edi, 4
shl esi, 3
lea edx, [esi + 0x44aa0c]
mov eax, dword [edx]
test eax, eax
jl 0x409f5b
lea eax, [eax + eax*8]
mov dword [edx], 0xffffffff
shl eax, 2
mov byte [eax + 0x44e0e9], 0xff
mov byte [eax + 0x44e0ea], 0xff
mov byte [eax + 0x44e0e6], 1
add edx, 4
dec edi
jne 0x409f34
mov eax, dword [0x44a830]
mov byte [esi + 0x44aa08], 0
dec eax
mov dword [0x44a830], eax
jmp 0x409fa5
lea edx, [ecx + ecx*2]
lea edx, [esi + edx*2]
mov dword [edx*4 + 0x44aa0c], 0xffffffff
lea edx, [ecx + ecx*2]
mov bl, byte [edx*8 + 0x44aa08]
dec bl
mov byte [edx*8 + 0x44aa08], bl
mov byte [eax + 0x21], 0xff
mov byte [eax + 0x22], 0xff
mov byte [eax + 0x1e], 1
cmp ecx, dword [0x44ac00]
jne 0x409fb7
mov dword [0x44ac00], 0xffffffff
mov byte [0x42263c], 1
jmp case.default.0x40881e
lea eax, [esp + 0x537]
push eax
call fcn.00415aba
lea ecx, [esp + 0x55a]
mov esi, eax
push ecx
call fcn.00415aba
lea edx, [esp + 0x57d]
mov edi, eax
push edx
call fcn.00415aba
mov ebx, eax
lea eax, [esp + 0x5a0]
push eax
call fcn.00415aba
lea ecx, [esi + esi*4]
add esp, 0x10
lea edx, [edi + ecx*4]
mov ecx, dword [0x44abf4]
movsx esi, byte [ecx + 0x1f]
cmp esi, edx
jne case.default.0x40881e
movsx edx, byte [ecx + 0x20]
cmp edx, ebx
jne case.default.0x40881e
movsx ecx, byte [ecx + 0x21]
cmp ecx, eax
je case.default.0x40881e
lea edx, [eax + eax*2]
mov byte [edx*8 + 0x44aa1d], 1
jmp case.default.0x40881e
lea eax, [esp + 0x537]
push eax
call fcn.00415aba
lea ecx, [esp + 0x55a]
mov esi, eax
push ecx
call fcn.00415aba
lea edx, [esp + 0x57d]
mov edi, eax
push edx
call fcn.00415aba
mov ebx, eax
lea eax, [esp + 0x5a0]
push eax
call fcn.00415aba
lea ecx, [esi + esi*4]
add esp, 0x10
lea edx, [edi + ecx*4]
mov ecx, dword [0x44abf4]
movsx esi, byte [ecx + 0x1f]
cmp esi, edx
jne case.default.0x40881e
movsx edx, byte [ecx + 0x20]
cmp edx, ebx
jne case.default.0x40881e
movsx ecx, byte [ecx + 0x21]
cmp ecx, eax
je case.default.0x40881e
lea edx, [eax + eax*2]
mov byte [edx*8 + 0x44aa1d], 0
jmp case.default.0x40881e
lea eax, [esp + 0x537]
push eax
call fcn.00415aba
add esp, 4
test eax, eax
jl case.default.0x40881e
cmp eax, 0xfa00
jge case.default.0x40881e
lea ecx, [eax + eax*8]
mov al, byte [ecx*4 + 0x44e0c8]
cmp al, 1
lea ebx, [ecx*4 + 0x44e0c8]
jne case.default.0x40881e
mov cl, byte [ebx + 0x1f]
mov eax, 0x66666667
movsx esi, cl
imul esi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, esi
mov ebp, edx
mov esi, 0x14
cdq
idiv esi
movsx eax, byte [ebx + 0x21]
movsx edi, byte [ebx + 0x22]
mov dword [esp + 0x14], edx
mov edx, dword [0x44abf4]
cmp cl, byte [edx + 0x1f]
jne case.default.0x40881e
mov cl, byte [ebx + 0x20]
cmp cl, byte [edx + 0x20]
jne case.default.0x40881e
lea esi, [eax + eax*2]
shl esi, 3
movsx ecx, byte [esi + 0x44aa1e]
cmp edi, ecx
jne 0x40a191
cmp byte [esi + 0x44aa08], 1
jle 0x40a191
mov dword [esp + 0x10], 0xffffffff
xor ecx, ecx
cmp ecx, edi
je 0x40a17b
lea edx, [eax + eax*2]
lea edx, [ecx + edx*2]
cmp dword [edx*4 + 0x44aa0c], 0
jge 0x40a185
inc ecx
cmp ecx, 4
jl 0x40a167
mov cl, byte [esp + 0x10]
mov edx, dword [0x44abf4]
mov byte [esi + 0x44aa1e], cl
mov cl, byte [esi + 0x44aa08]
dec cl
mov byte [esi + 0x44aa08], cl
lea ecx, [eax + eax*2]
lea ecx, [edi + ecx*2]
mov dword [ecx*4 + 0x44aa0c], 0xffffffff
mov cl, byte [esi + 0x44aa08]
test cl, cl
jne 0x40a1ce
mov ecx, dword [0x44a830]
mov byte [esi + 0x44aa1d], 0
dec ecx
mov dword [0x44a830], ecx
movsx ecx, byte [edx + 0x21]
cmp eax, ecx
jne 0x40a271
movsx edx, byte [edx + 0x22]
cmp edi, edx
jne 0x40a271
mov ecx, 0x78
xor eax, eax
mov edi, 0x44aa08
xor edx, edx
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x14]
lea eax, [ebp + ebp*4]
mov dword [0x44a830], edx
lea eax, [ecx + eax*4]
lea ecx, [eax + eax*2]
shl ecx, 4
add ecx, eax
mov eax, 0x44aa0c
mov cl, byte [ecx*4 + 0x44aca3]
mov edi, eax
or esi, 0xffffffff
mov byte [eax + 0x10], cl
add eax, 0x18
mov dword [edi], esi
cmp eax, 0x44abec
mov dword [edi + 4], esi
mov dword [edi + 8], esi
mov dword [edi + 0xc], esi
mov byte [eax - 0x1c], 0
jl 0x40a21b
mov dword [0x44abf8], 5
mov dword [0x432618], edx
mov dword [0x432614], 0xa
mov dword [0x44abec], 4
mov dword [0x44ac00], 0xffffffff
mov byte [0x42263c], 1
mov byte [ebx + 0x21], 0xff
mov byte [ebx + 0x22], 0xff
mov byte [ebx + 0x1e], 1
jmp case.default.0x40881e
lea edx, [esp + 0x537]
push edx
call fcn.00415aba
mov ecx, dword [0x432618]
add esp, 4
cmp eax, ecx
jne 0x40a2ab
mov dword [0x44abf8], 1
jmp case.default.0x40881e
xor esi, esi
push 0x421fa0
mov dword [0x432614], 0xa
mov dword [0x432618], esi
call fcn.004086c0
mov ecx, 0x78
xor eax, eax
mov edi, 0x44aa08
add esp, 4
rep stosd dword es:[edi], eax
mov eax, dword [0x44a780]
mov ecx, dword [0x44da04]
mov dword [0x44a830], esi
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
lea edx, [eax + eax*2]
shl edx, 4
add edx, eax
mov eax, 0x44aa0c
mov cl, byte [edx*4 + 0x44aca3]
mov esi, eax
or edx, 0xffffffff
mov byte [eax + 0x10], cl
add eax, 0x18
mov dword [esi], edx
cmp eax, 0x44abec
mov dword [esi + 4], edx
mov dword [esi + 8], edx
mov dword [esi + 0xc], edx
mov byte [eax - 0x1c], 0
jl 0x40a303
jmp case.default.0x40881e
call fcn.0040ac80
mov ecx, dword [0x430c20]
xor esi, esi
push esi
lea eax, [esp + 0x53b]
push 0x422308
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
call fcn.0040aca0
mov dword [0x44abec], 0xffffffff
mov dword [0x432610], esi
mov byte [0x421e7c], 1
mov dword [0x43260c], esi
jmp case.default.0x40881e
lea edx, [esp + 0x537]
push edx
call fcn.00415aba
add esp, 4
mov dword [0x44a76c], eax
jmp case.default.0x40881e
lea edi, [esp + 0x537]
mov esi, 0x449d1c
mov ebp, 0x14
push edi
call fcn.00415aba
mov dword [esi], eax
add esp, 4
add edi, 0x1f
add esi, 4
dec ebp
jne 0x40a39d
cmp esi, 0x449e0c
jl 0x40a398
jmp case.default.0x40881e
lea eax, [esp + 0x537]
push eax
call fcn.00415aba
lea ecx, [esp + 0x55a]
mov esi, eax
push ecx
call fcn.00415aba
lea edx, [esi + esi*4]
add esp, 8
lea edi, [esp + 0x575]
mov ebx, 0xa
lea eax, [eax + edx*4]
lea eax, [eax + eax*4]
lea esi, [eax*8 + 0x449e0c]
push edi
call fcn.00415aba
mov dword [esi], eax
add esp, 4
add esi, 4
add edi, 0x1f
dec ebx
jne 0x40a3f9
jmp case.default.0x40881e
lea ecx, [esp + 0x537]
push ecx
call fcn.00415aba
lea edx, [esp + 0x55a]
mov esi, eax
push edx
call fcn.00415aba
mov ebx, eax
lea eax, [esp + 0x57d]
push eax
call fcn.00415aba
lea ecx, [esi + esi*4]
add esp, 0xc
lea edi, [esp + 0x594]
lea ecx, [ebx + ecx*4]
mov ebx, 0x14
lea edx, [ecx + ecx*4]
lea esi, [eax + edx*2]
lea esi, [esi + esi*4]
shl esi, 4
add esi, 0x43261c
push edi
call fcn.00415aba
mov dword [esi], eax
add esp, 4
add esi, 4
add edi, 0x1f
dec ebx
jne 0x40a464
lea eax, [esp + 0x537]
push eax
call fcn.00415aba
lea ecx, [esp + 0x55a]
mov esi, eax
push ecx
call fcn.00415aba
lea edx, [esp + 0x57d]
mov ebx, eax
push edx
call fcn.00415aba
lea ecx, [esi + esi*4]
add esp, 0xc
lea edi, [esp + 0x594]
lea ecx, [ebx + ecx*4]
mov ebx, 0x14
lea edx, [ecx + ecx*4]
lea esi, [eax + edx*2]
lea esi, [esi + esi*4]
shl esi, 4
add esi, 0x43e19c
push edi
call fcn.00415aba
mov dword [esi], eax
add esp, 4
add esi, 4
add edi, 0x1f
dec ebx
jne 0x40a4ca
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
inc eax
cmp eax, 0x1e
mov dword [esp + 0x1c], eax
jl 0x4087b2
cmp byte [esi], 0
jne 0x408732
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 0x12c0
ret
xor eax, eax
pop esi
add esp, 0x12c0
ret