Function at 0x427de0
Capabilities:
Create directory
Get common file path

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53341a
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xb88
mov eax, dword [0x57c54c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x948], edi
mov esi, dword [ebx + 8]
lea eax, [ebp - 0x120]
push 0x105
push 0
push eax
mov dword [ebp - 0x950], esi
call fcn.00503920
add esp, 0xc
mov ecx, esi
push str.tempdir
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x427f04
lea eax, [ebp - 0x970]
mov ecx, esi
push eax
push str.tempdir
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov dword [ebp - 4], 0
cmp dword [eax + 0x14], 0x10
jb 0x427e8c
mov eax, dword [eax]
push 0x104
push eax
lea eax, [ebp - 0x120]
push 0x105
push eax
call fcn.0050c67f
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x95c]
cmp edx, 0x10
jb 0x427ee7
mov ecx, dword [ebp - 0x970]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x427edd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
mov dword [ebp - 0x960], 0
mov dword [ebp - 0x95c], 0xf
mov byte [ebp - 0x970], 0
jmp 0x427f1d
push str.gsxz
lea eax, [ebp - 0x120]
push 0x105
push eax
call fcn.0050c68a
add esp, 0xc
push 0x400
lea eax, [ebp - 0x520]
push 0
push eax
call fcn.00503920
add esp, 0xc
lea eax, [ebp - 0x520]
push eax
push 0x3ff
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x520]
push 0x400
push eax
call fcn.00507fcc
add esp, 0xc
lea eax, [ebp - 0x520]
push 0x55ff98
push 0x400
push eax
call fcn.00507fcc
add esp, 0xc
lea eax, [ebp - 0x520]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push str.items
mov ecx, esi
call fcn.0045c0f0
mov ecx, eax
mov dword [ebp - 0x954], eax
call fcn.0045ba50
test al, al
jne 0x4298e5
push 0x400
lea eax, [ebp - 0x920]
push 0
push eax
call fcn.00503920
add esp, 0xc
mov ecx, esi
push str.logo
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x428079
lea eax, [ebp - 0x970]
mov ecx, esi
push eax
push str.logo
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov dword [ebp - 4], 1
cmp dword [eax + 0x14], 0x10
jb 0x428003
mov eax, dword [eax]
push 0x3ff
push eax
lea eax, [ebp - 0x920]
push 0x400
push eax
call fcn.0050c67f
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x95c]
cmp edx, 0x10
jb 0x42805e
mov ecx, dword [ebp - 0x970]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x428054
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af6
push edx
push ecx
call fcn.005010b4
add esp, 8
mov dword [ebp - 0x960], 0
mov dword [ebp - 0x95c], 0xf
mov byte [ebp - 0x970], 0
mov ecx, dword [ebp - 0x954]
xor esi, esi
mov dword [ebp - 0x94c], esi
call fcn.0045b9a0
test eax, eax
je 0x4298df
mov ecx, dword [ebp - 0x954]
push esi
call fcn.0045bb00
mov edi, eax
mov ecx, edi
call fcn.0045ba50
test al, al
jne 0x4298ba
push 0x4250
call fcn.00500e07
add esp, 4
mov ecx, eax
call fcn.00427bb0
push 0x4250
mov esi, eax
push 0
push esi
mov dword [ebp - 0x958], esi
call fcn.00503920
mov eax, dword [ebp - 0x94c]
add esp, 0xc
mov byte [esi + 0x30b1], 0
mov ecx, edi
mov dword [esi + 0x30b4], eax
mov word [esi + 0x2415], 1
mov byte [esi + 0x30bd], 0
mov dword [esi + 0x3084], 0
push str.list_id
mov word [esi + 0x4248], 0
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b500
push str.list_lid
mov ecx, edi
mov dword [esi], eax
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b500
push str.list_deslnk
mov ecx, edi
mov dword [esi + 4], eax
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b8e0
push str.list_bench
mov ecx, edi
mov byte [esi + 0x4248], al
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b8e0
push str.list_uninstall
mov ecx, edi
mov byte [esi + 0x4249], al
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x4282c7
lea eax, [ebp - 0x9a0]
mov ecx, edi
push eax
push str.list_uninstall
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov dword [ebp - 4], 2
cmp dword [eax + 0x14], 0x10
jb 0x4281b4
mov eax, dword [eax]
mov edx, eax
lea ecx, [ebp - 0x970]
call fcn.0046efe0
mov dword [ebp - 0x944], eax
mov byte [ebp - 4], 3
lea ecx, [esi + 0x422c]
cmp ecx, eax
je 0x42820a
call fcn.0040aae0
mov eax, dword [ebp - 0x944]
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [esi + 0x422c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x423c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x95c]
cmp edx, 8
jb 0x42824e
mov ecx, dword [ebp - 0x970]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x428244
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
xor eax, eax
mov dword [ebp - 0x960], 0
mov dword [ebp - 0x95c], 7
mov word [ebp - 0x970], ax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x98c]
cmp edx, 0x10
jb 0x4282ac
mov ecx, dword [ebp - 0x9a0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4282a2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
mov dword [ebp - 0x990], 0
mov dword [ebp - 0x98c], 0xf
mov byte [ebp - 0x9a0], 0
push str.list_unisttime
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x4282f7
push str.list_unisttime
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b500
mov dword [esi + 0x4244], eax
push str.list_rd
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x428327
push str.list_rd
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b500
mov dword [esi + 0x30b8], eax
push str.list_dc
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x428357
push str.list_dc
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b500
mov byte [esi + 0x2415], al
lea eax, [ebp - 0x9b8]
mov ecx, edi
push eax
push str.list_type
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov dword [ebp - 4], 4
cmp dword [eax + 0x14], 0x10
jb 0x428380
mov eax, dword [eax]
push eax
call fcn.0050da22
add esp, 4
mov byte [esi + 0x2414], al
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x9a4]
cmp edx, 0x10
jb 0x4283d0
mov ecx, dword [ebp - 0x9b8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4283c6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
mov al, byte [esi + 0x2414]
mov dword [ebp - 0x9a8], 0
mov dword [ebp - 0x9a4], 0xf
mov byte [ebp - 0x9b8], 0
cmp al, 0x10
jne 0x428408
mov byte [esi + 0x30b1], 1
mov byte [esi + 0x2414], 1
jmp 0x4284a3
cmp al, 0x11
jne 0x42841f
mov byte [esi + 0x30b1], 1
mov byte [esi + 0x2414], 9
jmp 0x4284a3
cmp al, 0x12
jne 0x428433
mov byte [esi + 0x30b1], 1
mov byte [esi + 0x2414], 3
jmp 0x4284a3
cmp al, 0xb
jne 0x428447
mov byte [esi + 0x30bd], 1
mov byte [esi + 0x2414], 1
jmp 0x4284a3
cmp al, 0x13
jne 0x428462
mov byte [esi + 0x30b1], 1
mov byte [esi + 0x30bd], 1
mov byte [esi + 0x2414], 1
jmp 0x4284a3
cmp al, 0xc
jne 0x428476
mov byte [esi + 0x30be], 1
mov byte [esi + 0x2414], 1
jmp 0x4284a3
cmp al, 0xd
jne 0x42848a
mov byte [esi + 0x30bf], 1
mov byte [esi + 0x2414], 1
jmp 0x4284a3
cmp al, 0xe
jne 0x4284a3
mov byte [esi + 0x30bf], 1
mov byte [esi + 0x2414], 1
mov byte [esi + 0x30b1], 1
mov eax, dword [ebp - 0x948]
cmp dword [eax + 0x258], 0
je 0x4284b9
mov byte [esi + 0x30b1], 0
lea eax, [ebp - 0x9d0]
mov ecx, edi
push eax
push str.list_nameT
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov dword [ebp - 4], 5
cmp dword [eax + 0x14], 0x10
jb 0x4284e2
mov eax, dword [eax]
lea edx, [esi + 0x1408]
mov ecx, eax
call fcn.0046f450
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x9bc]
cmp edx, 0x10
jb 0x428530
mov ecx, dword [ebp - 0x9d0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x428526
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
lea eax, [ebp - 0x9e8]
mov dword [ebp - 0x9c0], 0
push eax
push str.list_desc
mov ecx, edi
mov dword [ebp - 0x9bc], 0xf
mov byte [ebp - 0x9d0], 0
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov dword [ebp - 4], 6
cmp dword [eax + 0x14], 0x10
jb 0x428574
mov eax, dword [eax]
lea edx, [esi + 0x140c]
mov ecx, eax
call fcn.0046f450
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x9d4]
cmp edx, 0x10
jb 0x4285c2
mov ecx, dword [ebp - 0x9e8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4285b8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
lea eax, [ebp - 0xa00]
mov dword [ebp - 0x9d8], 0
push eax
push str.list_desc2
mov ecx, edi
mov dword [ebp - 0x9d4], 0xf
mov byte [ebp - 0x9e8], 0
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov dword [ebp - 4], 7
cmp dword [eax + 0x14], 0x10
jb 0x428606
mov eax, dword [eax]
lea edx, [esi + 0x1410]
mov ecx, eax
call fcn.0046f450
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x9ec]
cmp edx, 0x10
jb 0x428654
mov ecx, dword [ebp - 0xa00]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42864a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
lea eax, [ebp - 0xa30]
mov dword [ebp - 0x9f0], 0
push eax
push str.list_icourl
mov ecx, edi
mov dword [ebp - 0x9ec], 0xf
mov byte [ebp - 0xa00], 0
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov dword [ebp - 4], 8
cmp dword [eax + 0x14], 0x10
jb 0x428698
mov eax, dword [eax]
mov edx, eax
lea ecx, [ebp - 0xa18]
call fcn.0046efe0
mov dword [ebp - 0x944], eax
mov byte [ebp - 4], 9
lea ecx, [esi + 0x35e8]
cmp ecx, eax
je 0x4286ee
call fcn.0040aae0
mov eax, dword [ebp - 0x944]
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [esi + 0x35e8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x35f8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0xa04]
cmp edx, 8
jb 0x428732
mov ecx, dword [ebp - 0xa18]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x428728
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
xor eax, eax
mov dword [ebp - 0xa08], 0
mov dword [ebp - 0xa04], 7
mov word [ebp - 0xa18], ax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xa1c]
cmp edx, 0x10
jb 0x428790
mov ecx, dword [ebp - 0xa30]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x428786
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
lea eax, [ebp - 0xb68]
mov dword [ebp - 0xa20], 0
push eax
push str.list_lnknm
mov ecx, edi
mov dword [ebp - 0xa1c], 0xf
mov byte [ebp - 0xa30], 0
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov dword [ebp - 4], 0xa
cmp dword [eax + 0x14], 0x10
jb 0x4287d4
mov eax, dword [eax]
mov edx, eax
lea ecx, [ebp - 0xb80]
call fcn.0046efe0
mov dword [ebp - 0x944], eax
mov byte [ebp - 4], 0xb
lea ecx, [esi + 0x3600]
cmp ecx, eax
je 0x42882a
call fcn.0040aae0
mov eax, dword [ebp - 0x944]
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [esi + 0x3600], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x3610], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0xb6c]
cmp edx, 8
jb 0x42886e
mov ecx, dword [ebp - 0xb80]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x428864
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
xor eax, eax
mov dword [ebp - 0xb70], 0
mov dword [ebp - 0xb6c], 7
mov word [ebp - 0xb80], ax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xb54]
cmp edx, 0x10
jb 0x4288cc
mov ecx, dword [ebp - 0xb68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4288c2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
mov eax, dword [ebp - 0x948]
mov dword [ebp - 0xb58], 0
mov dword [ebp - 0xb54], 0xf
mov byte [ebp - 0xb68], 0
mov eax, dword [eax + 0x1160]
cmp dword [eax + 0x220], 0
jne 0x428909
cmp dword [eax + 0x230], 0
je 0x428e02
push str.list_help
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x42893b
push str.list_help
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b8e0
mov byte [esi + 0x3618], al
jmp 0x428942
mov byte [esi + 0x3618], 0
push str.list_helpins
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x428974
push str.list_helpins
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b8e0
mov byte [esi + 0x3619], al
jmp 0x42897b
mov byte [esi + 0x3619], 0
cmp byte [esi + 0x3618], 0
jne 0x42899d
mov eax, dword [ebp - 0x948]
mov eax, dword [eax + 0x1160]
cmp dword [eax + 0x230], 0
je 0x428cdf
push str.list_root32
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x4289cd
push str.list_root32
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b5c0
mov dword [esi + 0x361c], eax
push str.list_reg32
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x428ab3
lea eax, [ebp - 0xb50]
mov dword [ebp - 0x944], 0
push eax
push str.list_reg32
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov dword [ebp - 4], 0xc
cmp dword [eax + 0x14], 0x10
jb 0x428a1b
mov eax, dword [eax]
lea edx, [ebp - 0x944]
mov ecx, eax
call fcn.0046f450
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xb3c]
cmp edx, 0x10
jb 0x428a69
mov ecx, dword [ebp - 0xb50]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x428a5f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
mov ecx, dword [ebp - 0x944]
mov dword [ebp - 0xb40], 0
mov dword [ebp - 0xb3c], 0xf
mov byte [ebp - 0xb50], 0
test ecx, ecx
je 0x428ab3
push 0x400
push ecx
lea eax, [esi + 0x3620]
push 0x400
push eax
call fcn.0050c67f
push dword [ebp - 0x944]
call fcn.005010e5
add esp, 0x14
push str.list_root64
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x428ae3
push str.list_root64
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b5c0
mov dword [esi + 0x3a20], eax
push str.list_reg64
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x428bc9
lea eax, [ebp - 0xb98]
mov dword [ebp - 0x944], 0
push eax
push str.list_reg64
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov dword [ebp - 4], 0xd
cmp dword [eax + 0x14], 0x10
jb 0x428b31
mov eax, dword [eax]
lea edx, [ebp - 0x944]
mov ecx, eax
call fcn.0046f450
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xb84]
cmp edx, 0x10
jb 0x428b7f
mov ecx, dword [ebp - 0xb98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x428b75
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
mov ecx, dword [ebp - 0x944]
mov dword [ebp - 0xb88], 0
mov dword [ebp - 0xb84], 0xf
mov byte [ebp - 0xb98], 0
test ecx, ecx
je 0x428bc9
push 0x400
push ecx
lea eax, [esi + 0x3a24]
push 0x400
push eax
call fcn.0050c67f
push dword [ebp - 0x944]
call fcn.005010e5
add esp, 0x14
push str.list_key64
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x428bf9
push str.list_key64
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b8e0
mov byte [esi + 0x3e24], al
push str.list_keyname
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x428cdf
lea eax, [ebp - 0xa48]
mov dword [ebp - 0x944], 0
push eax
push str.list_keyname
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov dword [ebp - 4], 0xe
cmp dword [eax + 0x14], 0x10
jb 0x428c47
mov eax, dword [eax]
lea edx, [ebp - 0x944]
mov ecx, eax
call fcn.0046f450
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xa34]
cmp edx, 0x10
jb 0x428c95
mov ecx, dword [ebp - 0xa48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x428c8b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
mov ecx, dword [ebp - 0x944]
mov dword [ebp - 0xa38], 0
mov dword [ebp - 0xa34], 0xf
mov byte [ebp - 0xa48], 0
test ecx, ecx
je 0x428cdf
push 0x200
push ecx
lea eax, [esi + 0x3e25]
push 0x200
push eax
call fcn.0050c67f
push dword [ebp - 0x944]
call fcn.005010e5
add esp, 0x14
cmp byte [esi + 0x3618], 0
je 0x428e02
push str.list_exename
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x428dd2
lea eax, [ebp - 0xa60]
mov dword [ebp - 0x944], 0
push eax
push str.list_exename
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov dword [ebp - 4], 0xf
cmp dword [eax + 0x14], 0x10
jb 0x428d3a
mov eax, dword [eax]
lea edx, [ebp - 0x944]
mov ecx, eax
call fcn.0046f450
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xa4c]
cmp edx, 0x10
jb 0x428d88
mov ecx, dword [ebp - 0xa60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x428d7e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
mov ecx, dword [ebp - 0x944]
mov dword [ebp - 0xa50], 0
mov dword [ebp - 0xa4c], 0xf
mov byte [ebp - 0xa60], 0
test ecx, ecx
je 0x428dd2
push 0x200
push ecx
lea eax, [esi + 0x4025]
push 0x200
push eax
call fcn.0050c67f
push dword [ebp - 0x944]
call fcn.005010e5
add esp, 0x14
push str.list_delay
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x428e02
push str.list_delay
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b5c0
mov dword [esi + 0x4228], eax
push str.list_url
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x428ee5
lea eax, [ebp - 0xa78]
mov dword [ebp - 0x944], 0
push eax
push str.list_url
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov dword [ebp - 4], 0x10
cmp dword [eax + 0x14], 0x10
jb 0x428e50
mov eax, dword [eax]
lea edx, [ebp - 0x944]
mov ecx, eax
call fcn.0046f450
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xa64]
cmp edx, 0x10
jb 0x428e9e
mov ecx, dword [ebp - 0xa78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x428e94
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
mov ecx, dword [ebp - 0x944]
mov dword [ebp - 0xa68], 0
mov dword [ebp - 0xa64], 0xf
mov byte [ebp - 0xa78], 0
test ecx, ecx
je 0x428ee5
push 0x400
push ecx
lea eax, [esi + 8]
push 0x400
push eax
call fcn.0050c67f
push dword [ebp - 0x944]
call fcn.005010e5
add esp, 0x14
push str.list_benchurl
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x428fcb
lea eax, [ebp - 0xa90]
mov dword [ebp - 0x944], 0
push eax
push str.list_benchurl
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov dword [ebp - 4], 0x11
cmp dword [eax + 0x14], 0x10
jb 0x428f33
mov eax, dword [eax]
lea edx, [ebp - 0x944]
mov ecx, eax
call fcn.0046f450
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xa7c]
cmp edx, 0x10
jb 0x428f81
mov ecx, dword [ebp - 0xa90]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x428f77
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
mov ecx, dword [ebp - 0x944]
mov dword [ebp - 0xa80], 0
mov dword [ebp - 0xa7c], 0xf
mov byte [ebp - 0xa90], 0
test ecx, ecx
je 0x428fcb
push 0x400
push ecx
lea eax, [esi + 0x408]
push 0x400
push eax
call fcn.0050c67f
push dword [ebp - 0x944]
call fcn.005010e5
add esp, 0x14
push str.list_cmd
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x4290ca
lea eax, [ebp - 0xaa8]
mov ecx, edi
push eax
push str.list_cmd
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov dword [ebp - 4], 0x12
cmp dword [eax + 0x14], 0x10
jb 0x42900f
mov eax, dword [eax]
push 0x3ff
push eax
lea ecx, [esi + 0x242c]
push 0x400
push ecx
call fcn.0050c67f
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xa94]
cmp edx, 0x10
jb 0x42906a
mov ecx, dword [ebp - 0xaa8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x429060
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
cmp byte [esi + 0x30be], 0
mov dword [ebp - 0xa98], 0
mov dword [ebp - 0xa94], 0xf
mov byte [ebp - 0xaa8], 0
je 0x4290ca
lea eax, [esi + 0x242c]
push 0x7c
push eax
call fcn.00502e70
add esp, 8
mov dword [ebp - 0x944], eax
test eax, eax
je 0x4290ca
lea ecx, [eax + 1]
push ecx
lea edx, [esi + 0x2014]
push 0x400
push edx
call fcn.0050c68a
mov eax, dword [ebp - 0x944]
add esp, 0xc
mov byte [eax], 0
push str.list_mimelist
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x429186
lea eax, [ebp - 0xac0]
mov ecx, edi
push eax
push str.list_mimelist
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov ecx, eax
mov dword [ebp - 4], 0x13
cmp dword [ecx + 0x14], 0x10
jb 0x429110
mov ecx, dword [ecx]
push 0x3ff
push ecx
lea eax, [esi + 0x1414]
push 0x400
push eax
call fcn.0050c67f
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xaac]
cmp edx, 0x10
jb 0x42916b
mov ecx, dword [ebp - 0xac0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x429161
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
mov dword [ebp - 0xab0], 0
mov dword [ebp - 0xaac], 0xf
mov byte [ebp - 0xac0], 0
push str.list_rename
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x4291b6
push str.list_rename
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b500
mov dword [esi + 0x30d0], eax
push str.list_ckmd5
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x4291e6
push str.list_ckmd5
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b8e0
mov byte [esi + 0x3088], al
push str.list_md5
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x42929c
lea eax, [ebp - 0xad8]
mov ecx, edi
push eax
push str.list_md5
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov ecx, eax
mov dword [ebp - 4], 0x14
cmp dword [ecx + 0x14], 0x10
jb 0x42922c
mov ecx, dword [ecx]
push 0x20
push ecx
lea eax, [esi + 0x3090]
push 0x21
push eax
call fcn.0050c67f
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xac4]
cmp edx, 0x10
jb 0x429281
mov ecx, dword [ebp - 0xad8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x429277
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
mov dword [ebp - 0xac8], 0
mov dword [ebp - 0xac4], 0xf
mov byte [ebp - 0xad8], 0
push str.list_backurl
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x429382
lea eax, [ebp - 0xaf0]
mov dword [ebp - 0x944], 0
push eax
push str.list_backurl
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov dword [ebp - 4], 0x15
cmp dword [eax + 0x14], 0x10
jb 0x4292ea
mov eax, dword [eax]
lea edx, [ebp - 0x944]
mov ecx, eax
call fcn.0046f450
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xadc]
cmp edx, 0x10
jb 0x429338
mov ecx, dword [ebp - 0xaf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42932e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
mov ecx, dword [ebp - 0x944]
mov dword [ebp - 0xae0], 0
mov dword [ebp - 0xadc], 0xf
mov byte [ebp - 0xaf0], 0
test ecx, ecx
je 0x429382
push 0x400
push ecx
lea eax, [esi + 0x31e4]
push 0x400
push eax
call fcn.0050c67f
push dword [ebp - 0x944]
call fcn.005010e5
add esp, 0x14
push str.list_nameS
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x4294d4
lea eax, [ebp - 0xb08]
mov dword [ebp - 0x944], 0
push eax
push str.list_nameS
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov dword [ebp - 4], 0x16
cmp dword [eax + 0x14], 0x10
jb 0x4293d0
mov eax, dword [eax]
lea edx, [ebp - 0x944]
mov ecx, eax
call fcn.0046f450
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xaf4]
cmp edx, 0x10
jb 0x42941e
mov ecx, dword [ebp - 0xb08]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x429414
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
mov ecx, dword [ebp - 0x944]
mov dword [ebp - 0xaf8], 0
mov dword [ebp - 0xaf4], 0xf
mov byte [ebp - 0xb08], 0
test ecx, ecx
je 0x4294d4
mov al, byte [esi + 0x2414]
cmp al, 1
je 0x429455
cmp al, 0x10
jne 0x4294ac
cmp byte [esi + 0x4248], 0
jne 0x4294ac
lea ecx, [ebp - 0x520]
push ecx
lea eax, [esi + 0x1008]
push 0x400
push eax
call fcn.0050c68a
add esp, 0xc
lea eax, [esi + 0x808]
push dword [ebp - 0x944]
push 0x400
push eax
call fcn.0050c68a
add esp, 0xc
cmp byte [esi + 0x2414], 0x10
jne 0x4294c6
mov byte [esi + 0x30b1], 1
mov byte [esi + 0x2414], 1
jmp 0x4294c6
push 0x3ff
push ecx
lea eax, [esi + 0x808]
push 0x400
push eax
call fcn.0050c67f
add esp, 0x10
push dword [ebp - 0x944]
call fcn.005010e5
add esp, 4
push str.list_benchname
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x4295ba
lea eax, [ebp - 0xb20]
mov dword [ebp - 0x944], 0
push eax
push str.list_benchname
mov ecx, edi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov dword [ebp - 4], 0x17
cmp dword [eax + 0x14], 0x10
jb 0x429522
mov eax, dword [eax]
lea edx, [ebp - 0x944]
mov ecx, eax
call fcn.0046f450
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xb0c]
cmp edx, 0x10
jb 0x429570
mov ecx, dword [ebp - 0xb20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x429566
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
mov ecx, dword [ebp - 0x944]
mov dword [ebp - 0xb10], 0
mov dword [ebp - 0xb0c], 0xf
mov byte [ebp - 0xb20], 0
test ecx, ecx
je 0x4295ba
push 0x400
push ecx
lea eax, [esi + 0xc08]
push 0x400
push eax
call fcn.0050c67f
push dword [ebp - 0x944]
call fcn.005010e5
add esp, 0x14
lea eax, [ebp - 0xb38]
mov ecx, edi
push eax
push str.list_sleep
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov dword [ebp - 4], 0x18
cmp dword [eax + 0x14], 0x10
jb 0x4295e3
mov eax, dword [eax]
push eax
call fcn.0050da22
add esp, 4
mov dword [esi + 0x2c40], eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xb24]
cmp edx, 0x10
jb 0x429633
mov ecx, dword [ebp - 0xb38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x429629
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
lea eax, [ebp - 0x938]
mov dword [ebp - 0xb28], 0
push eax
push str.list_logo
mov ecx, edi
mov dword [ebp - 0xb24], 0xf
mov byte [ebp - 0xb38], 0
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov ecx, eax
mov dword [ebp - 4], 0x19
cmp dword [ecx + 0x14], 0x10
jb 0x429679
mov ecx, dword [ecx]
push 0x3ff
push ecx
lea eax, [esi + 0x1814]
push 0x400
push eax
call fcn.0050c67f
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x924]
cmp edx, 0x10
jb 0x4296d4
mov ecx, dword [ebp - 0x938]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4296ca
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
lea eax, [ebp - 0x988]
mov dword [ebp - 0x928], 0
push eax
push str.list_logo2
mov ecx, edi
mov dword [ebp - 0x924], 0xf
mov byte [ebp - 0x938], 0
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov dword [ebp - 4], 0x1a
cmp dword [eax + 0x14], 0x10
jb 0x429718
mov eax, dword [eax]
push 0x3ff
push eax
lea edi, [esi + 0x1c14]
push 0x400
push edi
call fcn.0050c67f
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x974]
cmp edx, 0x10
jb 0x429773
mov ecx, dword [ebp - 0x988]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x429769
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429af1
push edx
push ecx
call fcn.005010b4
add esp, 8
cmp byte [esi + 0x2414], 3
mov dword [ebp - 0x978], 0
mov dword [ebp - 0x974], 0xf
mov byte [ebp - 0x988], 0
je 0x42988c
cmp byte [esi + 0x1814], 0
je 0x42988c
cmp byte [esi + 0x4248], 0
je 0x4297ba
cmp byte [edi], 0
je 0x42988c
mov edi, dword [ebp - 0x948]
cmp dword [edi + 0x260], 0
jne 0x429817
add edi, 0x374
lea ecx, [ebp - 0x920]
mov edx, edi
call fcn.00470a30
cmp eax, 0x2800
jbe 0x429807
cmp dword [edi + 0x14], 0x10
jb 0x4297eb
mov edi, dword [edi]
mov eax, dword [ebp - 0x948]
mov dword [eax + 0x1024], edi
mov edi, eax
mov eax, dword [edi + 0x384]
mov dword [edi + 0x1028], eax
jmp 0x42980d
mov edi, dword [ebp - 0x948]
mov dword [edi + 0x260], 1
lea ecx, [edi + 0x420]
push ecx
mov dword [ebp - 0x944], ecx
call fcn.00427c40
test eax, eax
je 0x429892
mov eax, dword [ebp - 0x944]
xor edi, edi
cmp dword [eax + 0xc00], edi
jle 0x42988c
nop dword [eax]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x429861
push ecx
lea eax, [esi + 0x1814]
push eax
call fcn.005122db
add esp, 8
test eax, eax
je 0x42986c
mov eax, dword [ebp - 0x944]
inc edi
cmp edi, dword [eax + 0xc00]
jl 0x429840
jmp 0x42988c
mov ecx, dword [ebp - 0x944]
mov eax, dword [ecx + edi*4 + 0x400]
mov dword [esi + 0x30c0], eax
mov eax, dword [ecx + edi*4 + 0x800]
mov dword [esi + 0x30c4], eax
mov edi, dword [ebp - 0x948]
mov eax, dword [edi + 0x103c]
lea ecx, [edi + 0x1038]
cmp dword [ecx + 8], eax
je 0x4298ab
mov dword [eax], esi
add dword [ecx + 4], 4
jmp 0x4298c0
lea edx, [ebp - 0x958]
push edx
push eax
call fcn.0042fc10
jmp 0x4298c0
mov edi, dword [ebp - 0x948]
mov ecx, dword [ebp - 0x954]
inc dword [ebp - 0x94c]
call fcn.0045b9a0
mov esi, dword [ebp - 0x94c]
cmp esi, eax
jb 0x428094
mov esi, dword [ebp - 0x950]
push esi
lea eax, [ebp - 0x520]
mov ecx, edi
push eax
call fcn.0042d200
push esi
lea eax, [ebp - 0x520]
mov ecx, edi
push eax
call fcn.0042d590
push esi
lea eax, [ebp - 0x520]
mov ecx, edi
push eax
call fcn.0042d960
push esi
mov ecx, edi
call fcn.0042aff0
cmp dword [edi + 0x2e0], 0
je 0x429956
lea esi, [edi + 0x1068]
mov ecx, esi
call fcn.0045c660
test al, al
jne 0x429950
push esi
mov esi, dword [ebp - 0x950]
mov ecx, esi
push str.softlist
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b130
jmp 0x429956
mov esi, dword [ebp - 0x950]
push esi
mov ecx, edi
call fcn.0042dd30
push str.mainres2
mov ecx, esi
call fcn.0045c0f0
mov ecx, eax
call fcn.0045c660
test al, al
jne 0x429a02
lea eax, [ebp - 0x988]
mov ecx, esi
push eax
push str.mainres2
call fcn.0045c0f0
mov ecx, eax
call fcn.0045b360
mov dword [ebp - 4], 0x1b
lea ecx, [edi + 0x32c]
push eax
call fcn.0041d810
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x974]
cmp edx, 0x10
jb 0x4299e7
mov ecx, dword [ebp - 0x988]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4299dd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429afb
push edx
push ecx
call fcn.005010b4
add esp, 8
mov dword [ebp - 0x978], 0
mov dword [ebp - 0x974], 0xf
mov byte [ebp - 0x988], 0
mov ecx, edi
call fcn.0042e5b0
cmp dword [edi + 0x258], 0
je 0x429a1a
push esi
mov ecx, edi
call fcn.0042c880
cmp dword [edi + 0x26c], 0
jne 0x429a30
cmp dword [edi + 0x2e0], 0
je 0x429acc
lea ecx, [ebp - 0x940]
call fcn.0046b4e0
mov dword [ebp - 4], 0x1c
lea eax, [ebp - 0x988]
push esi
push eax
lea ecx, [ebp - 0x940]
call fcn.0046b540
mov byte [ebp - 4], 0x1d
lea ecx, [edi + 0x314]
push eax
call fcn.0041d810
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0x974]
cmp edx, 0x10
jb 0x429a9f
mov ecx, dword [ebp - 0x988]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x429a95
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429b00
push edx
push ecx
call fcn.005010b4
add esp, 8
mov dword [ebp - 0x978], 0
mov dword [ebp - 0x974], 0xf
mov byte [ebp - 0x988], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x940]
call fcn.004195d0
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00500b45
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
call fcn.00508868
call fcn.00508868
call fcn.00508868
call fcn.00508868
int3