Function at 0x4385d6
Capabilities:
Check os version
Get common file path
Resume thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1d0
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 8], 0x4f833fcb
xor edi, edi
mov byte [ebp - 0x41], dl
mov dword [ebp - 0x40], ecx
inc edi
mov dword [ebp - 0x10], eax
jmp 0x438607
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x50], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x4385f9
push 2
pop esi
push 4
mov dword [ebp - 8], eax
pop ebx
jmp 0x4386ed
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], 0xfffffff8
mov dword [ebp - 0x10], eax
jmp 0x438637
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x70], 0x77dd6887
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x438629
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], eax
jl 0x4386ea
mov dword [ebp - 0x10], 0xc31e13ca
mov dword [ebp - 0x3c], 0x9339b884
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x50], edi
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x20], eax
je 0x4386b0
mov ecx, dword [ebp - 8]
xor ebx, ebx
push 4
mov edx, dword [ebp + ecx*4 - 0x50]
mov ecx, dword [ebp - 0x24]
cmp ecx, edx
mov ecx, dword [ebp - 8]
setg bl
cmp ebx, 0x8451f1e2
pop ebx
sbb esi, esi
xor edx, edx
inc esi
imul esi, dword [ebp + ecx*4 - 0x50]
mov ecx, dword [ebp - 0x50]
cmp ecx, esi
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x50]
setle dl
add esi, edx
xor edx, edx
cmp esi, ecx
setle dl
mov dword [ebp - 0x10], edx
mov ecx, dword [ebp - 0x70]
mov ecx, dword [ebp + ecx*4 - 0x50]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
neg ecx
cmp ebx, ecx
sbb ecx, ecx
neg ecx
cmp ecx, 0xaf14
jl 0x4386ce
mov edx, edi
cmp dword [ebp - 0x10], eax
jne 0x4386d0
mov edx, eax
xor ecx, ecx
cmp edx, 0x451d
setne cl
mov dword [ebp - 0x3c], ecx
dec dword [ebp - 0x70]
jns 0x438648
push 2
pop esi
inc dword [ebp - 8]
cmp dword [ebp - 8], eax
jle 0x43861a
mov byte [ebp - 9], al
cmp byte [ebp - 9], al
je 0x438707
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
xor eax, eax
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, 0x44ad72d7
setle cl
add ecx, 0x5dce
je 0x43876b
mov dword [ebp - 0x18], eax
jmp 0x438760
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x10], 0xffffffe2
jmp 0x438757
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x438754
push eax
push eax
push 0x22f1
call dword [sym.imp.ADVAPI32.dll_CopySid]
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe5
jg 0x43873c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xe
jle 0x438730
jmp 0x4388a4
mov dword [ebp - 0x14], 0xa8cf1d65
mov dword [ebp - 0x1c], 0xd7c1543f
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x3c], 0xfffffff6
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x29
jg 0x4388a4
push esi
lea ecx, [ebp - 0xac]
call fcn.00438263
xor eax, eax
mov dword [ebp - 0x2c], 0x4d9faba
mov dword [ebp - 0x10], eax
jmp 0x4387bd
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xac]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x4387ae
mov ecx, dword [ebp - 0x18]
xor ebx, ebx
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xac]
cmp dword [ecx], edx
mov ecx, dword [ebp - 0x18]
setne bl
mov dword [ebp - 0x24], ebx
xor ebx, ebx
cmp ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xac]
setg bl
xor edx, edx
cmp ebx, dword [ecx]
setne dl
xor ebx, ebx
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0xac]
cmp edx, dword [ecx]
mov ecx, dword [ebp - 0x14]
setle bl
mov dword [ebp - 0x24], ebx
xor ebx, ebx
cmp ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x3c]
setge bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [ebp - 0xac]
setl dl
cmp edx, dword [ecx]
jge 0x438844
mov edx, eax
cmp dword [ebp - 0x18], eax
je 0x438846
mov edx, edi
xor ecx, ecx
cmp edx, esi
setne cl
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x1c], eax
jmp 0x438883
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x438868
push eax
push eax
call dword [sym.imp.USER32.dll_LoadIconA]
xor eax, eax
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x438880
push eax
push 0x1b83
push eax
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetLBound]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xd
jg 0x438855
lea ecx, [ebp - 0xac]
call fcn.00438335
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x29
jle 0x438794
push 4
pop ebx
mov eax, dword [0x4cc9fc]
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x3c], 0x9cfe
mov dword [ebp - 8], edi
mov dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 0x28], esi
xor esi, esi
mov dword [ebp - 0x10], 0xfffa
mov dword [ebp - 0x20], 0x3b6f9b69
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x24], 0xfffffff7
mov dword [ebp - 0x14], 0xffffffff
push ebx
mov dword [ebp - 0x4c], eax
call fcn.00438263
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x438901
mov ecx, dword [ebp - 0x18]
mov dword [ebp + ecx*4 - 0x88], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x4388f4
mov dword [ebp - 0x18], eax
jmp 0x43891a
mov ecx, dword [ebp - 0x18]
mov dword [ebp + ecx*4 - 0x48], 0x63718bd8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x43890c
mov dword [ebp - 0x18], eax
jmp 0x438937
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + edx*4], 0x8161
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x438924
dec dword [ebp - 0x14]
xor ebx, ebx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xfffffffa
mov ecx, dword [ebp - 0x84]
setle bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [ebp - 0x2c]
setl dl
imul ecx, edx
test ecx, ecx
jne 0x4389a3
mov ecx, dword [ebp - 0x48]
xor ebx, ebx
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 8]
cmp edx, ecx
mov ecx, dword [ebp - 0x84]
setg bl
sub ebx, ecx
mov ecx, dword [ebp - 0x24]
sub ebx, ecx
sub ebx, 0xfffffff9
neg ebx
sbb ebx, ebx
inc ebx
cmp ebx, dword [ebp - 0x84]
jg 0x43899a
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x80]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x84]
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
mov edi, dword [sym.imp.USER32.dll_CreatePopupMenu]
cmp dword [ebp - 0x84], eax
je 0x4389ff
mov dword [ebp - 0x14], eax
jmp 0x4389f8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], eax
jl 0x4389f5
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x4389f0
push 0x664
push eax
push 0x1ab2
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
xor eax, eax
dec dword [ebp - 8]
jns 0x4389d3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x4389cb
jmp 0x438a0b
mov byte [ebp - 9], al
cmp byte [ebp - 9], al
je 0x438a0b
call edi
xor eax, eax
mov esi, dword [ebp - 0xf0]
xor ebx, ebx
mov ecx, dword [esi + 8]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x1c]
cmp edx, ecx
mov ecx, dword [ebp - 0x20]
setg bl
xor edx, edx
cmp ecx, ebx
mov ecx, dword [ebp - 0xf0]
setg dl
xor ebx, ebx
cmp edx, dword [ecx + 4]
setne bl
xor ecx, ecx
sub ebx, dword [esi + 8]
inc ecx
cmp ebx, ecx
jbe 0x438a4d
mov esi, eax
cmp dword [ebp - 0x10], eax
je 0x438a4f
mov esi, ecx
mov ecx, dword [ebp - 0x1c]
xor edx, edx
sub esi, ecx
imul esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x14]
cmp esi, ecx
setg dl
mov dword [ebp - 0x84], edx
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x24]
cmp dword [ebp - 8], ecx
jle 0x438a8d
cmp dword [ebp - 0x48], eax
je 0x438a8d
xor eax, eax
inc eax
mov dword [ebp - 8], eax
lea ecx, [ebp - 0xf0]
call fcn.00438335
mov ebx, dword [ebp + 8]
lea ecx, [ebp - 0x110]
xor esi, esi
push 3
mov dword [ebx], esi
mov dword [ebx + 4], esi
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], esi
call fcn.00438263
mov dword [ebp - 8], esi
jmp 0x438ad0
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x110]
mov dword [eax + ecx*4], 0xb110c93b
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x438abd
xor ecx, ecx
mov dword [ebp - 8], esi
inc ecx
jmp 0x438aeb
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x144], esi
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x438ade
mov eax, dword [ebp - 0x110]
lea ecx, [ebp - 0x110]
mov dword [eax], esi
call fcn.00438335
mov esi, dword [ebp - 0x4c]
xor edx, edx
inc edx
cmp byte [ebp - 0x41], 0
je 0x438b21
cmp esi, edx
jne 0x438b21
mov dword [ebx + 8], 4
mov dword [ebx + 0xc], 0x4cc9fc
mov dword [ebp - 0x1c], 4
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], 0x10
jmp 0x438b9f
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x28], 0x487223b1
mov dword [ebp - 0x10], eax
jmp 0x438b52
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x154], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x438b45
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
neg edx
push 1
sbb edx, edx
xor ebx, ebx
neg edx
cmp ecx, edx
mov ecx, dword [ebp - 0x14c]
setne bl
xor edx, edx
cmp ebx, ecx
setge dl
imul ecx, edx, 0x9bb7
pop edx
mov dword [ebp - 0x28], ecx
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xe
je 0x438b36
mov byte [ebp - 9], al
cmp byte [ebp - 9], al
je 0x438bb1
call edi
xor eax, eax
mov ebx, dword [ebp - 0x40]
cmp ebx, esi
jge 0x439c3c
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], 0x41e55969
mov dword [ebp - 8], 0xa
cmp dword [ebp - 8], 9
jle 0x438d07
mov dword [ebp - 0x14], 0xb95ae64
mov dword [ebp - 0x24], 0x5daa08bb
mov dword [ebp - 0x18], 0xc1477a14
mov dword [ebp - 0x20], 0x5ff74f57
mov dword [ebp - 0x10], eax
jmp 0x438c0c
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x104], 3
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x438bfb
cmp dword [ebp - 8], eax
je 0x438c28
xor edi, edi
inc edi
mov dword [ebp - 0x28], edi
cmp dword [ebp - 0x28], eax
jne 0x438d04
jmp 0x438c74
mov dword [ebp - 0x1c], 3
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x438c59
push eax
push 0x796
push 0xb34
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetDIBColorTable]
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x12
jle 0x438c71
cmp dword [ebp - 0x14], eax
jne 0x438c71
cmp dword [ebp - 0x1c], eax
jne 0x438c71
inc dword [ebp - 0x1c]
jmp 0x438c5c
xor edi, edi
inc edi
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x14], 2
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x24]
sub esi, 0x97867a7b
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp esi, ecx
setne dl
xor ebx, ebx
sub edx, dword [ebp - 0x18]
mov dword [ebp - 0x10], edx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
cmp ecx, edx
setle bl
mov dword [ebp - 0x100], ebx
test ebx, ebx
jne 0x438cbc
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
cmp dword [ebp - 0x18], eax
jne 0x438cc7
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
cmp dword [ebp - 8], eax
jne 0x438cdf
mov ecx, eax
cmp dword [ebp - 0x100], eax
je 0x438ce1
mov ecx, edi
cmp ecx, dword [ebp - 0x20]
jl 0x438ced
mov edx, eax
cmp dword [ebp - 8], eax
je 0x438cef
mov edx, edi
mov ecx, dword [ebp - 8]
sub edx, ecx
mov dword [ebp - 0x20], edx
dec dword [ebp - 8]
cmp dword [ebp - 8], 9
jg 0x438bda
mov ebx, dword [ebp - 0x40]
push 3
lea ecx, [ebp - 0x128]
mov edi, 0x4cca00
call fcn.00438263
xor esi, esi
mov dword [ebp - 8], esi
jmp 0x438d33
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x128]
mov dword [eax + ecx*4], 0xb110c93b
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x438d20
xor ecx, ecx
mov dword [ebp - 8], esi
inc ecx
jmp 0x438d4e
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x148], esi
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x438d41
mov eax, dword [ebp - 0x128]
lea ecx, [ebp - 0x128]
mov dword [eax], esi
call fcn.00438335
xor eax, eax
mov dword [ebp - 0x2c], eax
test ebx, ebx
jle 0x4394e7
xor esi, esi
inc esi
push esi
lea ecx, [ebp - 0xfc]
call fcn.00438263
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x438d96
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x1d0], eax
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x438d89
mov dword [ebp - 8], eax
jmp 0x438db4
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xfc]
mov dword [ecx + edx*4], 0xfffffff6
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x438da1
mov ecx, dword [ebp - 0xfc]
push 2
pop ebx
mov dword [ecx], ebx
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x438ded
push 0x47f
push 0x1f73
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
xor eax, eax
mov ecx, dword [ebp - 0xfc]
dec dword [ecx]
jns 0x438dc4
lea ecx, [ebp - 0xfc]
call fcn.00438335
mov eax, dword [edi]
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 8], esi
mov dword [ebp - 0x10], eax
jmp 0x438e1e
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x1ac], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x438e11
mov dword [ebp - 8], eax
jmp 0x438ea1
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x10], eax
jmp 0x438e46
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x1c4], 0xffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x438e35
mov dword [ebp - 0x14], 7
jmp 0x438e98
mov dword [ebp - 0x1c], 0x87cf2e56
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x438e70
push eax
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_SysFreeString]
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x438e90
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x10], eax
jmp 0x438e88
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], eax
jne 0x438e8d
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x438e7d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x438e75
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe5
je 0x438e55
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x16
je 0x438e29
cmp dword [ebp - 8], eax
je 0x438eaf
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
add edi, 4
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 8]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], 0xa290be4
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], 0x59653e3f
mov dword [ebp - 8], 0x2a77
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
mov dword [ebp - 0x1c], edi
je 0x438f18
push eax
push 0x126e
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x438f2b
mov dword [ebp - 0x20], 0xf9f4
mov edx, eax
cmp dword [ebp - 0x20], eax
je 0x438f2d
mov edx, esi
xor ecx, ecx
cmp edx, 0x1ba
setge cl
sub ecx, 0x45e59ed
cmp ecx, 0x52027495
jge 0x438f7c
mov dword [ebp - 8], 0xd72b90f9
xor ebx, ebx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
cmp edx, ecx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x20], ecx
setle bl
mov ecx, dword [ebp - 0x20]
sub ecx, ebx
mov dword [ebp - 8], ecx
jmp 0x438fc2
push 0xfffffffffffffffb
mov dword [ebp - 8], eax
pop ebx
jmp 0x438fa6
mov dword [ebp - 0x14], ebx
jmp 0x438f9d
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x438f9a
call dword [sym.imp.KERNEL32.dll_GetVersion]
xor eax, eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffea
jne 0x438f89
dec dword [ebp - 8]
cmp dword [ebp - 8], ebx
jle 0x438f84
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x438fc2
push 0x11a0
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
xor eax, eax
mov edi, dword [edi]
mov dword [ebp - 0x14], 0xb18d4081
mov dword [ebp - 0x20], 9
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 8], 0xa2e42846
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], 0xfffffffe
mov dword [ebp - 0x10], eax
jmp 0x439003
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x18c], 0x737a30b9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x438ff2
mov ecx, dword [ebp - 0x20]
cmp esi, ecx
sbb ecx, ecx
inc ecx
cmp ecx, dword [ebp - 0x14]
jl 0x439019
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
xor ebx, ebx
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
cmp ecx, edx
setle bl
xor ecx, ecx
cmp ebx, 0x7937
setg cl
cmp dword [ebp - 0x14], ecx
je 0x4390b6
push 3
pop ebx
mov dword [ebp - 0x28], 0x5c22c920
lea ecx, [ebp - 0x140]
push ebx
call fcn.00438263
xor esi, esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], 0xffff
mov dword [ebp - 8], esi
jmp 0x439076
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x140]
mov dword [eax + ecx*4], 0x82ba8d7d
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x439063
mov dword [ebp - 8], esi
jmp 0x439091
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1b8], 9
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x439080
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x140]
dec eax
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x24]
call fcn.00438335
jmp 0x43917d
push dword [ebp + 8]
movdqa xmm0, xmmword [0xac1db0]
lea ecx, [ebp - 0x15c]
push ecx
lea ecx, [ebp - 0x16c]
mov dword [ebp - 0x94], eax
push ecx
push eax
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x90], eax
movdqu xmmword [ebp - 0x16c], xmm0
mov dword [ebp - 0x8c], eax
call fcn.004383a6
mov eax, dword [ebp - 8]
xor edx, edx
mov esi, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x28]
sub eax, dword [esi + 4]
test eax, eax
mov eax, dword [ebp - 0x18]
setg dl
imul ecx, edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18c]
setle dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [ebp - 0x94]
setl bl
xor ecx, ecx
cmp ebx, dword [eax + 0xc]
setg cl
mov dword [ebp - 0x24], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x24]
cmp dword [esi + 4], eax
setne cl
xor edx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
imul eax, dword [ebp - 0x3c], 0xedc1455d
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
shl eax, 2
cmp eax, dword [esi + 4]
mov eax, dword [ebp - 0x3c]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x188], ecx
lea ecx, [ebp - 0x94]
call fcn.00438335
push 3
pop ebx
mov edx, dword [ebp - 0x1c]
push 4
pop esi
add edx, esi
mov dword [ebp - 0x14], 6
xor eax, eax
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x10], eax
jmp 0x4391a7
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x19c], 0xc62e0897
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x439196
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], eax
jl 0x4391ef
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x4391e7
push 0x82f
push 0x205
push 0x8a9
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_CheckRadioButton]
xor eax, eax
dec dword [ebp - 0x14]
jns 0x4391c0
mov edx, dword [ebp - 0x1c]
test edi, edi
jne 0x4391f9
add edx, 8
mov dword [ebp - 0x1c], edx
mov dword [ebp - 8], 7
lea ecx, [ebp - 0xa0]
push esi
call fcn.00438263
xor eax, eax
mov dword [ebp - 0x3c], 5
xor esi, esi
mov dword [ebp - 8], eax
inc esi
jmp 0x43922b
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x30], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x43921d
mov dword [ebp - 8], eax
jmp 0x439248
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xa0]
mov dword [ecx + edx*4], 0xfffa
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x439235
mov dword [ebp - 0x30], 0xfffffffc
cmp dword [ebp - 0x30], 0xc
jg 0x4393f2
mov dword [ebp - 0x14], 0xfffffff8
lea ecx, [ebp - 0x5c]
push 2
call fcn.00438263
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x439287
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + edx*4], 0xf889e022
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x439277
cmp dword [ebp - 0x30], eax
jne 0x4392c9
mov ecx, dword [ebp - 0x5c]
mov dword [ecx], 0xe45b
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
cmp dword [ebp - 0x30], eax
je 0x4392be
mov ecx, dword [ebp - 0x5c]
mov edx, esi
cmp dword [ecx], eax
jne 0x4392c0
mov edx, eax
mov ecx, dword [ebp - 0x14]
add ecx, edx
jne 0x4392c9
mov esi, eax
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp ecx, esi
setg dl
imul esi, dword [ebp - 0x30], 0xfffe
mov ecx, dword [ebp - 0x30]
sub esi, edx
xor edx, edx
cmp esi, ecx
sete dl
xor esi, esi
inc esi
mov dword [ebp - 8], edx
mov dword [ebp - 8], esi
cmp dword [ebp - 8], eax
jl 0x4393db
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x14], eax
jmp 0x4393c9
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x10], 0x70d97802
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], eax
jl 0x43939b
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 4]
xor edx, edx
mov dword [ebp - 0x10], ecx
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
cmp ecx, 9
mov ecx, dword [ebp - 0xa0]
setle dl
xor ebx, ebx
cmp edx, dword [ecx]
mov ecx, dword [ebp - 0x5c]
setl bl
imul ebx, dword [ecx + esi*4]
test ebx, ebx
je 0x43934f
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x20], ebx
xor ebx, ebx
mov ecx, dword [esi + ecx*4]
cmp ecx, dword [esi + edx*4]
mov ecx, dword [ebp - 0x18]
setge bl
xor edx, edx
cmp ecx, ebx
mov ecx, dword [ebp - 0x18]
setle dl
add ecx, dword [esi + edi*4]
mov esi, dword [ebp - 0x20]
dec edx
mov dword [ebp - 0x24], edx
xor edx, edx
cmp ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x5c]
setge dl
mov dword [ecx + esi*4], edx
dec dword [ebp - 0x18]
jns 0x439320
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], eax
jl 0x4393c6
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], eax
jl 0x4393c1
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x4393bc
call dword [sym.imp.USER32.dll_DestroyCaret]
xor eax, eax
dec dword [ebp - 0x10]
jns 0x4393ab
dec dword [ebp - 0x18]
jns 0x4393a3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x439307
dec dword [ebp - 8]
jns 0x4392f8
lea ecx, [ebp - 0x5c]
call fcn.00438335
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xc
jle 0x43925f
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x11
jle 0x4394c4
mov edi, dword [ebp - 0xa0]
mov dword [ebp - 0x24], 0xfffffffd
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], eax
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x439424
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadLocale]
xor eax, eax
mov ecx, dword [ebp - 0x20]
xor ebx, ebx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x24], esi
mov edx, dword [ebp - 0x30]
sub edx, dword [edi + 8]
mov ecx, dword [ebp - 0x3c]
cmp edx, ecx
setle bl
sub ebx, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
neg ebx
sbb ebx, ebx
xor ecx, ecx
inc ebx
cmp ebx, 0x24e19c78
setle cl
xor ebx, ebx
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x24]
cmp ecx, edx
mov ecx, dword [ebp - 0x28]
setle bl
imul ecx, ebx
neg ecx
jne 0x43946d
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xa0]
sub esi, 0x46b8
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp esi, dword [ecx]
setne dl
cmp edx, dword [edi + 8]
jg 0x439499
cmp dword [ebp - 0x3c], eax
jne 0x439499
xor esi, esi
mov edx, eax
inc esi
jmp 0x43949e
xor esi, esi
inc esi
mov edx, esi
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx]
imul ecx, edx
sub ecx, 0xb6675f71
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x30], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x11
jg 0x439405
lea ecx, [ebp - 0xa0]
call fcn.00438335
mov edi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x2c]
add edi, dword [ebp - 0x38]
inc ebx
mov dword [ebp - 0x2c], ebx
cmp ebx, dword [ebp - 0x40]
jl 0x438d76
xor eax, eax
mov dword [ebp - 0x10], 0x8cff0ea7
xor ebx, ebx
mov dword [ebp - 0x40], 0xffffffff
inc ebx
mov dword [ebp - 0x24], 0x37fc
mov dword [ebp - 0x10], 0xfffffff2
cmp dword [ebp - 0x10], 0x17
jge 0x439680
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x1c], eax
jmp 0x43952d
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + ecx*4 - 0x15c], 0xfffffff8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x43951c
mov dword [ebp - 0x1c], ebx
jmp 0x43966b
mov dword [ebp - 8], 0xc3eee2fd
mov dword [ebp - 0x24], 0xfffffffd
mov dword [ebp - 8], 0xfffffffc
cmp dword [ebp - 8], 0x11
je 0x439668
push dword [ebp + 8]
movdqa xmm0, xmmword [0xac1de0]
lea ecx, [ebp - 0x16c]
push ecx
lea ecx, [ebp - 0x17c]
mov dword [ebp - 0xd0], eax
push ecx
push eax
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xcc], eax
movdqu xmmword [ebp - 0x17c], xmm0
mov dword [ebp - 0xc8], eax
call fcn.004383a6
mov dword [ebp - 0x38], 4
xor edx, edx
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], 2
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setne dl
mov dword [ebp - 0x40], edx
xor edx, edx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
setne dl
xor eax, eax
cmp edx, 5
setg al
xor ecx, ecx
sub eax, dword [ebp - 8]
sub eax, 0x6b2c
cmp eax, 0xfffffff9
mov eax, 0xecdc0f1f
setle cl
sub ecx, 0xc214
neg ecx
sbb ecx, ecx
inc ecx
neg ecx
cmp eax, ecx
mov dword [ebp - 0x15c], ecx
mov ecx, 0xeda781b5
sbb eax, eax
neg eax
cmp ecx, eax
mov eax, dword [ebp - 8]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0xd0]
setge dl
xor ecx, ecx
mov dword [eax + 4], edx
mov eax, dword [ebp - 8]
sub eax, edx
cmp eax, 0xffffffff
setg cl
cmp dword [ebp - 0x10], ecx
jle 0x439643
xor esi, esi
cmp dword [ebp - 8], esi
je 0x439645
mov esi, ebx
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xd0]
add eax, esi
mov dword [ebp - 0x38], eax
call fcn.00438335
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x11
push 0
pop eax
jne 0x43955a
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffffa
jl 0x43953b
mov dword [ebp - 0x40], ebx
inc dword [ebp - 0x10]
jmp 0x439506
mov eax, dword [edi]
lea ecx, [ebp - 0x11c]
push 2
mov dword [ebp - 0x2c], eax
call fcn.00438263
xor eax, eax
mov dword [ebp - 0x38], 7
mov dword [ebp - 8], eax
jmp 0x4396b0
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x11c]
or dword [ecx + edx*4], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x4396a0
mov dword [ebp - 8], eax
jmp 0x4396cc
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0xe4], 0xdf1febae
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x4396bb
mov dword [ebp - 0xd8], eax
jmp 0x439748
mov dword [ebp - 8], 0x7ad4
mov dword [ebp - 0x24], 0x694a61bf
inc dword [ebp - 8]
mov dword [ebp - 8], eax
jmp 0x43973d
mov dword [ebp - 0x24], 0xfffffffa
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
dec ecx
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
mov dword [ebp - 0x24], ecx
mov esi, dword [ebp - 8]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xd8]
cmp edx, ecx
mov ecx, dword [ebp - 0x11c]
setge bl
xor edx, edx
cmp ebx, dword [ecx + esi*4]
setg dl
xor ebx, ebx
mov dword [ebp - 0x24], edx
inc ebx
mov ecx, dword [ebp - 0x24]
mov edx, ebx
sub edx, ecx
add edx, dword [ebp - 8]
mov dword [ebp - 0x38], edx
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jle 0x4396f0
inc dword [ebp - 0xd8]
cmp dword [ebp - 0xd8], ebx
jle 0x4396da
lea ecx, [ebp - 0x11c]
call fcn.00438335
mov dword [ebp - 0x1c], 0x30722263
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x40], ebx
add edi, 4
mov dword [ebp - 0x24], 3
mov dword [ebp - 0x20], 0xec75
mov dword [ebp - 0x10], 0x5b2906c9
mov dword [ebp - 0x10], 0xbbd0a708
push 2
call fcn.00438263
xor eax, eax
mov dword [ebp - 0x38], 0xfffffffb
mov dword [ebp - 0x10], eax
jmp 0x4397b2
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x134]
mov dword [ecx + edx*4], 6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x43979f
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov dword [ebp - 0x24], 0xa412
mov ecx, dword [ebp - 0x20]
cmp ecx, 0x261f
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x134]
setl dl
sub edx, ecx
inc dword [esi + 4]
mov dword [ebp - 0x40], edx
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
sub ecx, 0xf62c4df8
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 0xf118c84b
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x10], ecx
xor ecx, ecx
cmp dword [esi + 4], 0x565e
mov edx, dword [ebp - 0x10]
sete cl
xor ebx, ebx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x1c]
cmp edx, ecx
setle bl
xor edx, edx
add ebx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x38]
cmp ecx, ebx
setle dl
cmp edx, dword [ebp - 0x20]
jne 0x439846
cmp dword [ebp - 0x20], eax
jne 0x439846
xor ebx, ebx
mov ecx, eax
inc ebx
jmp 0x43984b
xor ebx, ebx
inc ebx
mov ecx, ebx
mov dword [ebp - 0x1c], ecx
cmp dword [esi + 4], eax
je 0x43985a
mov edx, ebx
cmp dword [ebp - 0x1c], eax
jne 0x43985c
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
add ecx, dword [esi + 4]
cmp ecx, edx
lea ecx, [ebp - 0x134]
setg al
mov dword [ebp - 0x10], eax
call fcn.00438335
mov eax, dword [edi]
lea ecx, [ebp - 0xc4]
push 4
pop esi
add edi, esi
mov dword [ebp - 8], 7
push esi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x1c], edi
call fcn.00438263
xor eax, eax
mov dword [ebp - 0x3c], 5
mov dword [ebp - 8], eax
jmp 0x4398c3
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x34], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x4398b5
mov dword [ebp - 8], eax
jmp 0x4398e0
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc4]
mov dword [ecx + edx*4], 0xfffa
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x4398cd
mov dword [ebp - 0x34], 0xfffffffc
cmp dword [ebp - 0x34], 0xc
jg 0x439a88
mov dword [ebp - 0x14], 0xfffffff8
lea ecx, [ebp - 0x68]
push 2
call fcn.00438263
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x43991e
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x68]
mov dword [ecx + edx*4], 0xf889e022
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x43990e
cmp dword [ebp - 0x34], eax
jne 0x439960
mov ecx, dword [ebp - 0x68]
mov dword [ecx], 0xe45b
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
cmp dword [ebp - 0x34], eax
je 0x439955
mov ecx, dword [ebp - 0x68]
mov edx, ebx
cmp dword [ecx], eax
jne 0x439957
mov edx, eax
mov ecx, dword [ebp - 0x14]
mov esi, eax
add ecx, edx
je 0x439962
mov esi, ebx
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp ecx, esi
setg dl
imul esi, dword [ebp - 0x34], 0xfffe
mov ecx, dword [ebp - 0x34]
sub esi, edx
xor edx, edx
cmp esi, ecx
sete dl
mov dword [ebp - 8], edx
mov dword [ebp - 8], ebx
cmp dword [ebp - 8], eax
jl 0x439a71
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x14], eax
jmp 0x439a5f
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x10], 0x70d97802
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], eax
jl 0x439a31
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax + 4]
xor edx, edx
mov dword [ebp - 0x10], ecx
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
cmp ecx, 9
mov ecx, dword [ebp - 0xc4]
setle dl
xor ebx, ebx
cmp edx, dword [ecx]
mov ecx, dword [ebp - 0x68]
setl bl
imul ebx, dword [ecx + esi*4]
test ebx, ebx
je 0x4399e5
mov ecx, dword [ebp - 0x38]
mov edi, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x68]
mov dword [ebp - 0x24], ebx
xor ebx, ebx
mov ecx, dword [esi + ecx*4]
cmp ecx, dword [esi + edx*4]
mov ecx, dword [ebp - 0x18]
setge bl
xor edx, edx
cmp ecx, ebx
mov ecx, dword [ebp - 0x18]
setle dl
add ecx, dword [esi + edi*4]
mov esi, dword [ebp - 0x24]
dec edx
mov dword [ebp - 0x28], edx
xor edx, edx
cmp ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x68]
setge dl
mov dword [ecx + esi*4], edx
dec dword [ebp - 0x18]
jns 0x4399b6
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], eax
jl 0x439a5c
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], eax
jl 0x439a57
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x439a52
call dword [sym.imp.USER32.dll_DestroyCaret]
xor eax, eax
dec dword [ebp - 0x10]
jns 0x439a41
dec dword [ebp - 0x18]
jns 0x439a39
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x43999d
dec dword [ebp - 8]
jns 0x43998e
lea ecx, [ebp - 0x68]
call fcn.00438335
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xc
jle 0x4398f6
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x11
jle 0x439b5a
mov edi, dword [ebp - 0xc4]
mov dword [ebp - 0x24], 0xfffffffd
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x28], eax
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x439aba
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadLocale]
xor eax, eax
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x24], ebx
xor ebx, ebx
mov edx, dword [ebp - 0x34]
sub edx, dword [edi + 8]
mov ecx, dword [ebp - 0x3c]
cmp edx, ecx
setle bl
sub ebx, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
neg ebx
sbb ebx, ebx
xor ecx, ecx
inc ebx
cmp ebx, 0x24e19c78
setle cl
xor ebx, ebx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x24]
cmp ecx, edx
mov ecx, dword [ebp - 0x38]
setle bl
imul ecx, ebx
neg ecx
jne 0x439b03
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc4]
sub esi, 0x46b8
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp esi, dword [ecx]
setne dl
cmp edx, dword [edi + 8]
jg 0x439b2f
cmp dword [ebp - 0x3c], eax
jne 0x439b2f
xor ebx, ebx
mov edx, eax
inc ebx
jmp 0x439b34
xor ebx, ebx
inc ebx
mov edx, ebx
mov ecx, dword [ebp - 0xc4]
mov ecx, dword [ecx]
imul ecx, edx
sub ecx, 0xb6675f71
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x34], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x11
jg 0x439a9b
lea ecx, [ebp - 0xc4]
call fcn.00438335
cmp dword [ebp - 0x40], 0
jne 0x439c3c
cmp byte [ebp - 0x41], 0
je 0x439b88
cmp dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x2c]
jne 0x439b8b
mov ecx, dword [ebp + 8]
lea eax, [ebx + 0x10]
add dword [ecx + 8], eax
jmp 0x439b8b
mov ebx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
push ebx
mov eax, dword [ecx]
mov dword [ebp - 0x38], eax
mov eax, dword [ecx + 4]
add ecx, 8
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], ecx
call fcn.0049a7c2
mov dword [ebp - 0x24], eax
xor eax, eax
pop ecx
mov dword [ebp - 0xd4], eax
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0xd4]
push eax
push ebx
call fcn.00472443
mov edi, dword [ebp - 0x7c]
xor ecx, ecx
mov esi, ecx
test ebx, ebx
jle 0x439c19
mov eax, esi
and eax, 0x80000001
jns 0x439be3
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x38]
add eax, esi
add eax, dword [ebp - 0x38]
imul eax, dword [ebp - 0x28]
jmp 0x439bf8
lea eax, [edx + 1]
cdq
idiv ebx
cmp word [edi + edx*2], cx
jne 0x439bf5
xor eax, eax
inc eax
mov word [edi + edx*2], ax
mov eax, dword [ebp - 0x1c]
mov al, byte [edx + eax]
mov edx, dword [ebp - 0x24]
mov byte [esi + edx], al
inc esi
cmp esi, ebx
jl 0x439bd5
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x24]
mov dword [edx], ebx
mov dword [edx + 4], eax
test edi, edi
je 0x439c3e
push edi
call fcn.0049d166
pop ecx
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], ecx
jmp 0x439c3e
xor ecx, ecx
mov dword [ebp - 0x10], 0x60b4ffb8
mov dword [ebp - 0x20], 0x26f3f17e
mov dword [ebp - 0x4c], 0xc039ecf4
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], 0x935ff574
mov dword [ebp - 0x28], 0xbac8ef34
mov dword [ebp - 0x10], ecx
jmp 0x439c84
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xb8], 0xfffffff6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x439c73
mov dword [ebp - 0x10], 2
cmp dword [ebp - 0x10], ecx
jl 0x439cad
mov byte [ebp - 9], cl
cmp byte [ebp - 9], 0
je 0x439ca8
push ecx
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
xor ecx, ecx
dec dword [ebp - 0x10]
jns 0x439c96
mov eax, dword [ebp - 0xb8]
xor ebx, ebx
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xfffffff8
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x20]
setne bl
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0xb0]
setne dl
sub esi, edx
sub esi, eax
cmp dword [ebp - 0x10], esi
jl 0x439cf2
cmp dword [ebp - 0x38], ecx
je 0x439cf2
xor edi, edi
inc edi
mov eax, edi
jmp 0x439cf7
xor edi, edi
mov eax, ecx
inc edi
mov dword [ebp - 0x20], eax
xor ebx, ebx
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
cmp eax, edx
mov edx, 0xf63abefa
setge bl
mov dword [ebp - 0x28], ebx
dec dword [ebp - 0x4c]
mov eax, dword [ebp - 0x2c]
cmp edx, eax
sbb esi, esi
inc esi
add esi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x4c]
neg edx
sbb edx, edx
xor eax, eax
inc edx
neg edx
cmp edx, esi
setge al
imul eax, eax, 0xbd0d
test eax, eax
jne 0x439d40
cmp dword [ebp - 0xb4], ecx
je 0x439d42
mov ecx, edi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0xb4]
sub edx, ecx
neg edx
pop edi
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, 0x708b
pop esi
setl cl
mov dword [ebp - 0x28], ecx
pop ebx
mov esp, ebp
pop ebp
ret