Function at 0x404ff4
Capabilities:
Resume thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14c
push ebx
push esi
xor esi, esi
mov dword [ebp - 0x58], edx
inc esi
push edi
mov dword [ebp - 4], esi
mov edi, ecx
mov dword [ebp - 0x24], 0xd5fba252
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x18], 0xfffffffc
push esi
mov dword [ebp - 0x4c], edi
call fcn.00422862
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x405040
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x34], 0xfffb
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x405032
mov dword [ebp - 4], eax
jmp 0x40505a
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + edx*4], esi
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x40504b
mov dword [ebp - 4], eax
jmp 0x405296
mov dword [ebp - 0x1c], esi
xor ebx, ebx
mov dword [ebp - 8], 0xc2f5a260
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x20], 0xd8c20e5e
mov dword [ebp - 0x20], 0xb61ea52f
mov dword [ebp - 0x10], 0x4d09d52f
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x34]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x34]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 4]
cmp edx, ecx
mov ecx, dword [ebp - 4]
setl bl
xor edx, edx
mov ecx, dword [ebp + ecx*4 - 0x34]
cmp edx, ecx
sbb edx, edx
xor ecx, ecx
neg edx
cmp ebx, 0x995f
sete cl
sub edx, ecx
sub edx, 0x26a9d9e1
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0x1d99ea5d
jne 0x4050e8
mov ecx, dword [ebp - 4]
cmp dword [ebp + ecx*4 - 0x34], eax
mov ecx, eax
je 0x4050ea
mov ecx, esi
mov dword [ebp - 0x20], ecx
xor ebx, ebx
mov ecx, dword [ebp - 0x20]
cmp ecx, 0x668dacb3
mov ecx, dword [ebp - 4]
setg bl
xor edx, edx
cmp ebx, ecx
setle dl
cmp edx, 4
jg 0x40510d
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
xor ebx, ebx
mov edx, dword [ebp - 4]
sub edx, ecx
add edx, dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp edx, 0xffffffff
setl bl
xor edx, edx
sub ebx, 0x103134d2
mov ecx, dword [ebp + ecx*4 - 0x34]
cmp ebx, ecx
mov ecx, dword [ebp - 4]
setge dl
xor ebx, ebx
mov ecx, dword [ebp + ecx*4 - 0x34]
cmp edx, ecx
mov ecx, dword [ebp - 0x1c]
setge bl
xor edx, edx
cmp ebx, ecx
setne dl
add edx, 0x63523e24
je 0x40515b
mov edx, eax
cmp dword [ebp - 0x1c], eax
jne 0x40515d
mov edx, esi
mov ecx, dword [ebp - 0x30]
add ecx, edx
je 0x40519a
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x40517b
push 0xcd6
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor eax, eax
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x405293
push 0x119
push eax
push eax
call dword [sym.imp.GDI32.dll_TranslateCharsetInfo]
jmp 0x405291
push esi
lea ecx, [ebp - 0x7c]
call fcn.00422862
mov dword [ebp - 0x14], 0xfffffffd
xor eax, eax
mov dword [ebp - 0x20], 0x2ca01dc0
mov dword [ebp - 0x18], eax
jmp 0x4051c4
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x7c]
mov dword [ecx + edx*4], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x4051b8
mov byte [ebp - 9], al
cmp byte [ebp - 9], al
je 0x4051f4
push eax
push 0x1550
push 0xf0b
push 0xe0f
push 0x384
push 0x24d8
push eax
call dword [sym.imp.USER32.dll_TrackPopupMenu]
xor eax, eax
mov ecx, dword [ebp - 4]
xor ebx, ebx
mov edx, dword [ebp + ecx*4 - 0x34]
mov ecx, dword [ebp - 0x1c]
cmp ecx, edx
setle bl
imul ecx, ebx, 3
xor ebx, ebx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + ecx*4 - 0x34]
imul ecx, dword [ebp - 0x20], 0xb816
cmp edx, ecx
mov ecx, dword [ebp - 0x24]
setge bl
xor edx, edx
cmp ebx, ecx
setge dl
sub edx, dword [ebp - 4]
jne 0x405236
mov ecx, eax
cmp dword [ebp - 4], eax
je 0x405238
mov ecx, esi
mov eax, dword [ebp - 0x14]
xor edx, edx
imul eax, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
sub edx, eax
mov eax, dword [ebp - 0x7c]
neg edx
sbb edx, edx
xor ecx, ecx
mov eax, dword [eax]
inc edx
cmp edx, 0x4ae9822c
setge cl
sub eax, ecx
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x20], eax
call fcn.00422eed
xor eax, eax
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jle 0x405067
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 4]
sub edx, eax
neg edx
sbb edx, edx
inc edx
sub ecx, edx
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
test ecx, ecx
lea ecx, [ebp - 0xd4]
setg al
neg eax
mov dword [ebp - 0x24], eax
call fcn.00422eed
push dword [ebp - 0x3c]
movdqa xmm0, xmmword [0xaa8f70]
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x104]
mov dword [ebp - 4], 0xa3df
mov dword [ebp - 0x1c], esi
lea ecx, [ebp - 0x48]
xor esi, esi
push eax
push esi
movdqu xmmword [ebp - 0x104], xmm0
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], esi
call fcn.0042415b
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x405331
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x12c], 0x2978d8ef
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x405320
mov ecx, dword [ebp - 4]
xor ebx, ebx
mov ecx, dword [ebp - 4]
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp edx, ecx
mov ecx, dword [ebp - 0x1c]
setge bl
mov dword [ebp - 0x20], esi
xor edx, edx
cmp ecx, ebx
setg dl
xor ebx, ebx
mov dword [esi + 0xc], edx
inc ebx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 3
jg 0x405449
mov dword [ebp - 0x10], 0x56a0b349
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x10], 0x6a08376f
mov dword [ebp - 0x10], 0xf3392002
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], ebx
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ecx + edx*4]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c], eax
jmp 0x40542f
mov dword [ebp - 0x14], 0xeba4
mov dword [ebp - 8], eax
jmp 0x4053c2
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x110], 0x3e8ce6fc
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x4053b1
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], eax
je 0x4053e5
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x48]
cmp dword [ecx + edx*4], eax
je 0x4053e5
inc dword [ebp - 0x18]
mov edi, ebx
jne 0x4053e7
mov edi, eax
mov esi, dword [ebp - 4]
xor edx, edx
mov ecx, dword [ebp - 0x108]
cmp ecx, 0x4b26
mov ecx, dword [ebp - 0x1c]
setg dl
imul edx, edi
mov edi, dword [ebp - 0x20]
add ecx, edx
xor edx, edx
cmp dword [edi + 0xc], ecx
mov ecx, dword [ebp - 0x48]
setne dl
imul edx, dword [ecx + esi*4]
mov dword [ebp - 0x10], edx
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x40542a
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
xor eax, eax
inc dword [ebp - 0x1c]
mov esi, edi
cmp dword [ebp - 0x1c], 0x13
jl 0x4053a5
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jle 0x405370
mov edi, dword [ebp - 0x4c]
lea ecx, [ebp - 0x48]
call fcn.00422eed
mov eax, dword [edi]
xor esi, esi
mov dword [eax], esi
jmp 0x405a14
push dword [ebp - 0x3c]
movdqa xmm0, xmmword [0xaa8f50]
lea eax, [ebp - 0xe4]
push eax
lea eax, [ebp - 0xf4]
mov dword [ebp - 4], 0xdc85f70a
push eax
mov dword [ebp - 0x10], 0xa20b2878
lea ecx, [ebp - 0x64]
push esi
movdqu xmmword [ebp - 0xf4], xmm0
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], esi
call fcn.0042415b
mov dword [ebp - 0x14], 0x3334adc6
mov dword [ebp - 0x10], 0x17017a68
mov dword [ebp - 8], esi
jmp 0x4054c1
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x120], 0x1b40e11a
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x4054b0
mov dword [ebp - 4], esi
jmp 0x40552a
mov dword [ebp - 8], 4
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 8]
jg 0x4054e3
cmp dword [ebp - 4], esi
jne 0x4054e3
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 8]
cmp eax, 0x5e31
mov eax, dword [ebp - 8]
setge dl
xor ecx, ecx
cmp eax, edx
setl cl
xor eax, eax
cmp eax, ecx
mov eax, dword [ebp - 4]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, 0xffff32bd
setge dl
sub eax, edx
add eax, dword [ebp - 4]
sub eax, dword [ebp - 4]
neg eax
sbb eax, eax
add eax, 0xffffe756
mov dword [ebp - 0x10], eax
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jle 0x4054cc
dec dword [ebp - 0x14]
lea ecx, [ebp - 0x64]
call fcn.00422eed
push 2
mov dword [ebp - 0x28], 0x4b4e1265
lea ecx, [ebp - 0x70]
pop esi
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x18], 4
push esi
call fcn.00422862
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x40557b
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x118], 0xf0ea
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x40556a
mov dword [ebp - 4], eax
jmp 0x405595
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x70]
mov dword [ecx + edx*4], 0x999d94b4
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x405585
push 4
mov dword [ebp - 4], eax
pop edx
jmp 0x4055b3
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0xe4], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x4055a2
mov dword [ebp - 0x18], eax
jmp 0x405600
mov dword [ebp - 0x10], 0x5121
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10], 0xfffffff6
mov dword [ebp - 0x10], 0x5b054dbb
mov dword [ebp - 8], eax
jmp 0x4055f2
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x148], 9
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x4055e1
dec dword [ebp - 0xe0]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jle 0x4055bd
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xffffffff
jl 0x40565d
xor esi, esi
push 2
lea ecx, [ebp - 0x88]
call fcn.00422862
mov dword [ebp - 8], esi
jmp 0x405635
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x88]
mov dword [eax + ecx*4], 0xc58f5537
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x405622
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
lea ecx, [ebp - 0x88]
call fcn.00422eed
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffff
jge 0x405610
lea ecx, [ebp - 0x70]
call fcn.00422eed
mov dword [ebp - 0x3c], 0xffffffff
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 8], 0x2e56
push 0xfffffffffffffff7
pop esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], ebx
mov dword [ebp - 0x24], 0x6d767c8f
mov dword [ebp - 0x10], 0xde2f
mov byte [ebp - 9], al
cmp byte [ebp - 9], al
je 0x4056aa
push 0xb46
push eax
push 0x176b
call dword [sym.imp.KERNEL32.dll_OpenProcess]
xor eax, eax
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 8]
sub edx, dword [ebp - 0x1c]
add edx, dword [ebp - 8]
sub edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
cmp edx, ecx
setl bl
sub ebx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
neg ebx
sbb ebx, ebx
xor edx, edx
inc ebx
cmp ebx, ecx
setg dl
mov dword [ebp - 0x18], edx
xor edx, edx
mov ecx, dword [ebp - 0x18]
cmp ecx, esi
setne dl
xor ecx, ecx
cmp edx, 0xffffffff
mov edx, 0xfffe
setge cl
cmp edx, ecx
mov ecx, dword [ebp - 8]
sbb esi, esi
xor edx, edx
neg esi
cmp ecx, esi
mov ecx, dword [ebp - 0x1c]
setge dl
xor ebx, ebx
imul edx, edx, 0x5d1c
cmp ecx, edx
setne bl
imul ebx, dword [ebp - 0x1c]
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], eax
je 0x405767
mov dword [ebp - 8], 0xffffffff
xor ebx, ebx
mov dword [ebp - 0x14], 0xe6a0122d
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
cmp edx, ecx
mov ecx, dword [ebp - 8]
setg bl
xor edx, edx
inc ebx
cmp ecx, ebx
setge dl
xor ecx, ecx
cmp edx, 0xfffffffd
setge cl
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], eax
jne 0x40575f
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
jmp 0x4057c8
mov dword [ebp - 0x20], 0x7501
mov dword [ebp - 0x14], 0x734826aa
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x20], eax
jne 0x4057b5
cmp dword [ebp - 8], eax
je 0x40579c
mov dword [ebp - 0x14], 1
imul ecx, dword [ebp - 0x14], 0xfffffffb
test ecx, ecx
jne 0x405799
cmp dword [ebp - 0x20], eax
jne 0x405799
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov dword [ebp - 0x14], 1
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], 0xffffffff
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0xb8]
xor ebx, ebx
inc ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x10], 0xa8f9
mov dword [ebp - 0x10], 0x94a1888
mov dword [ebp - 0x10], 0xd692
push 3
call fcn.00422862
mov dword [ebp - 0x10], 0x5fd0
xor esi, esi
push 3
mov dword [ebp - 0x10], 0xffffffff
pop edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 4], esi
jmp 0x40581b
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x138], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x40580e
mov dword [ebp - 4], esi
jmp 0x405834
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0xb8]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x405825
inc dword [ebp - 0x14]
lea ecx, [ebp - 0xb8]
call fcn.00422eed
mov dword [ebp - 0x28], 0x19
cmp dword [ebp - 0x28], 0xfffffff5
jne 0x405a03
mov edi, dword [ebp - 0x58]
mov dword [ebp - 0x54], 0xaa32f3f6
lea ecx, [ebp - 0xac]
push 3
call fcn.00422862
mov dword [ebp - 0x10], 0x9d4346
mov eax, 0x82a10aa4
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x10], 0xffff
mov dword [ebp - 0x10], 0x1c9b6cd0
mov dword [ebp - 0x10], 0xa1325a46
mov dword [ebp - 0x10], 0xdbdf9020
mov dword [ebp - 8], esi
jmp 0x4058c7
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0xac]
mov dword [eax + ecx*4], 0x3421
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x4058b4
mov dword [ebp - 0x10], esi
lea ecx, [ebp - 0xac]
call fcn.00422eed
lea eax, [ebp - 0x28]
mov edx, edi
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x50]
call fcn.00402b8e
add esp, 0xc
mov dword [ebp - 0x20], 0xdc7555b7
lea ecx, [ebp - 0x94]
push 2
call fcn.00422862
mov dword [ebp - 0x14], 0x36fe5ab0
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x14], 0x632c5b64
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], 0x574b6046
push 2
call fcn.00422862
push 2
mov dword [ebp - 0x38], 0xbb66efe0
mov dword [ebp - 4], esi
pop edx
jmp 0x40594f
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x94]
mov dword [eax + ecx*4], 0x4272ba75
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x40593c
mov dword [ebp - 4], esi
jmp 0x405968
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0xa0]
mov dword [eax + ecx*4], esi
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x405959
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x94]
mov dword [eax], ecx
xor eax, eax
test ecx, ecx
setne al
cmp eax, 0x9a733e34
sbb eax, eax
neg eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0x4ad744d0
setl al
xor ecx, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp eax, 0x78e0
setge cl
sub ecx, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
inc ecx
add ecx, dword [ebp - 0x10]
cmp dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0xa0]
jne 0x4059d1
mov ecx, ebx
cmp dword [edx], esi
jne 0x4059d3
mov ecx, esi
xor eax, eax
cmp ecx, dword [edx]
lea ecx, [ebp - 0xa0]
setg al
mov dword [ebp - 0x38], eax
call fcn.00422eed
lea ecx, [ebp - 0x94]
call fcn.00422eed
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffff5
je 0x40585b
mov edi, dword [ebp - 0x4c]
push edi
lea edx, [ebp - 0x50]
lea ecx, [ebp - 0x28]
call fcn.00402ee3
mov eax, dword [edi]
pop ecx
inc dword [eax]
mov eax, dword [edi]
cmp dword [eax], 7
jge 0x40545c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret