Function at 0x436cc0
Capabilities:
Check http status code
Clear file content

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1f8
push ebx
push esi
push edi
push 2
pop ebx
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x15c]
push ebx
mov byte [ebp - 0x35], dl
call fcn.0043694d
xor eax, eax
mov dword [ebp - 8], 0x80db959c
mov dword [ebp - 0x14], eax
jmp 0x436cfe
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x15c]
mov dword [ecx + edx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x436cef
mov esi, dword [ebp - 0x15c]
xor edi, edi
xor ebx, ebx
cmp dword [esi + 4], eax
je 0x436d48
mov dword [ebp - 8], 0xffffffff
mov ecx, dword [ebp - 8]
cmp dword [esi + 4], ecx
mov ecx, dword [ebp - 8]
setne bl
xor edx, edx
cmp dword [esi + 4], ecx
setne dl
cmp ebx, edx
jl 0x436d39
mov ecx, dword [ebp - 8]
cmp dword [ebp - 8], eax
je 0x436d41
lea ecx, [edi + 1]
cmp dword [esi + 4], eax
jne 0x436d43
mov ecx, eax
mov dword [ebp - 8], ecx
jmp 0x436d8b
mov dword [ebp - 0x30], 0xb821342f
mov dword [ebp - 0x10], 0xfffffffb
mov ecx, dword [ebp - 0x10]
sub ecx, dword [esi + 4]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x30], 0x29694d2b
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x30]
cmp ecx, edx
setl bl
xor ecx, ecx
cmp ebx, dword [esi + 4]
setl cl
mov dword [ebp - 0x10], ecx
mov edi, dword [sym.imp.USER32.dll_GetDC]
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 1], al
cmp byte [ebp - 1], al
je 0x436db6
push eax
push 0x1016
push 0x12d3
call esi
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_GetCharWidth32A]
lea ecx, [ebp - 0x15c]
call fcn.00436a1f
mov dword [ebp - 0x18], 0x6c3a0b8e
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 8], 0x3e45bbbd
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x14], eax
jmp 0x436dee
mov ecx, dword [ebp - 0x14]
mov dword [ebp + ecx*4 - 0x50], 0x4438bea1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x436de0
mov ecx, dword [ebp - 0x50]
xor ebx, ebx
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
cmp ecx, edx
mov ecx, dword [ebp - 0x18]
setne bl
xor edx, edx
cmp ecx, ebx
mov ecx, dword [ebp - 0x4c]
setg dl
sub edx, 0x9f361739
neg edx
sbb edx, edx
xor ebx, ebx
add edx, 0xa389
cmp edx, ecx
setl bl
cmp ebx, dword [ebp - 0x4c]
je 0x436e7c
push 2
pop ebx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], eax
jl 0x436f67
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp + ecx*4 - 0x50]
sub ecx, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x436e72
push 0x1f36
push eax
push 0x25be
push eax
push 0x13ab
push eax
call dword [sym.imp.KERNEL32.dll_CompareStringW]
xor eax, eax
dec dword [ebp - 0x18]
jns 0x436e42
jmp 0x436f67
mov dword [ebp - 0x30], 0x7b1b
lea ecx, [ebp - 0x168]
push 3
call fcn.0043694d
xor ebx, ebx
lea ecx, [ebp - 0x150]
inc ebx
push ebx
call fcn.0043694d
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x436eb5
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x168]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x436ea6
mov dword [ebp - 0xc], eax
jmp 0x436ed3
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x150]
mov dword [ecx + edx*4], 0xf2fd6b22
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x436ec0
mov ecx, dword [ebp - 0x30]
xor ebx, ebx
cmp ecx, 0x5a26cdee
mov ecx, dword [ebp - 0x18]
setle bl
xor edx, edx
cmp ebx, ecx
setne dl
mov dword [ebp - 0x18], edx
mov edx, 0xc65b0b5d
mov ecx, dword [ebp - 0x18]
sub edx, ecx
mov ecx, dword [ebp - 0x30]
imul edx, ecx
mov ecx, dword [ebp - 0x168]
mov dword [ecx + 4], edx
test edx, edx
jne 0x436f19
cmp dword [ecx + 8], eax
jne 0x436f19
mov ecx, eax
jmp 0x436f1c
xor ecx, ecx
inc ecx
xor edx, edx
cmp ecx, 0x6dd2cc91
mov ecx, dword [ebp - 0x150]
setg dl
mov dword [ecx], edx
mov byte [ebp - 1], al
cmp byte [ebp - 1], al
je 0x436f4e
push eax
push 0x680
push 0xe75
call esi
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_GetDIBColorTable]
lea ecx, [ebp - 0x150]
call fcn.00436a1f
lea ecx, [ebp - 0x168]
call fcn.00436a1f
push 2
pop ebx
mov ecx, dword [ebp - 0x50]
xor edx, edx
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setne dl
xor ecx, ecx
cmp edx, eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
setle cl
imul edx, ecx
xor ecx, ecx
push ebx
cmp eax, edx
setne cl
mov dword [ebp - 8], ecx
lea ecx, [ebp - 0x18c]
call fcn.0043694d
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x436fb7
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18c]
mov dword [ecx + edx*4], 0x9714a025
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x436fa4
mov byte [ebp - 1], al
cmp byte [ebp - 1], al
je 0x436fd0
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
xor eax, eax
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x436fe0
push eax
call dword [sym.imp.ADVAPI32.dll_GetLengthSid]
lea ecx, [ebp - 0x18c]
call fcn.00436a1f
mov dword [ebp - 0x24], 0xdb505206
lea ecx, [ebp - 0xd4]
mov dword [ebp - 8], 9
push ebx
call fcn.0043694d
mov dword [ebp - 0x30], 0x8ceef9a8
xor edx, edx
mov dword [ebp - 0x28], 0xffffffff
inc edx
mov dword [ebp - 0x10], 0xfffffffc
xor eax, eax
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x2c], 0x9c2b2e5f
mov dword [ebp - 0xc], eax
jmp 0x43703f
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0xc8], 0x1342f3d4
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x43702e
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], ebx
jge 0x437067
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + edx*4], 0x3edb3952
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x43704c
xor edx, edx
inc edx
mov edi, eax
cmp dword [ebp - 8], eax
je 0x437070
mov edi, edx
mov ecx, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xc8]
push 6
pop edx
sub edx, ecx
mov ecx, dword [ebp - 0xd4]
sub esi, edx
neg esi
push 0xfffffffffffffffd
sbb esi, esi
inc esi
mov dword [ecx + 4], esi
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0x30], esi
mov ecx, dword [ebp - 0x28]
imul ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0xd4]
mov ecx, dword [ecx]
sub ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
dec esi
neg esi
sbb esi, esi
xor edx, edx
neg esi
cmp esi, ecx
mov ecx, dword [ebp - 0x14]
setg dl
xor ebx, ebx
cmp edx, ecx
pop ecx
setle bl
cmp ecx, ebx
sbb ecx, ecx
xor ebx, ebx
inc ecx
cmp ecx, 0x194
mov ecx, dword [ebp - 0x2c]
setg bl
xor edx, edx
sub ebx, 5
cmp ebx, ecx
mov ecx, dword [ebp - 0x24]
setg dl
dec dword [ebp - 0x24]
xor ebx, ebx
inc ebx
cmp ecx, edx
je 0x43710e
mov eax, ebx
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0xd4]
call fcn.00436a1f
mov esi, dword [0x4ae5ec]
xor ecx, ecx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], 0x1e043eef
mov dword [ebp - 0x2c], 0x1e283d1f
mov dword [ebp - 0x1c], 0x14186e14
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 8], 0xfffffffb
mov eax, dword [ebp - 0xc]
cmp eax, 0x4a1cf041
mov dword [ebp - 0x30], esi
setle cl
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 4
sbb eax, eax
xor edx, edx
neg eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
xor eax, eax
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 8], 0xfffffffa
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
test ecx, ecx
setg dl
cmp edx, dword [ebp - 0xc]
je 0x4371e4
mov dword [ebp - 0x10], 0xf
jmp 0x4371cb
mov dword [ebp - 0x2c], 0x96a9cbde
cmp dword [ebp - 8], eax
jne 0x4371d1
cmp dword [ebp - 0x2c], eax
jne 0x4371d1
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff7
jle 0x4371b7
mov byte [ebp - 1], al
cmp byte [ebp - 1], al
je 0x437201
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
xor eax, eax
jmp 0x437201
mov dword [ebp - 8], 0xb4373c94
xor ebx, ebx
inc dword [ebp - 8]
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
cmp edx, ecx
setg bl
mov dword [ebp - 0x10], ebx
xor ebx, ebx
inc ebx
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0xf8]
mov dword [ebp - 0x10], 3
mov dword [ebp - 0x28], 0x4d035725
push ebx
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
call fcn.0043694d
xor eax, eax
mov dword [ebp - 0x1c], 5
mov dword [ebp - 0x14], eax
jmp 0x43724a
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xf8]
mov dword [ecx + edx*4], 0xfff6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x437237
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffea
jne 0x4372f3
mov ecx, dword [ebp - 0xf8]
mov dword [ebp - 0x24], 0x4217
mov dword [ebp - 8], 0x55752783
cmp dword [ecx], eax
je 0x437277
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x28]
xor ebx, ebx
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xf8]
cmp edx, dword [ecx]
setg bl
xor ecx, ecx
cmp ebx, 0x44d4e2b7
setg cl
xor edx, edx
add ecx, 7
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x2c], ecx
setle dl
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jne 0x4372c9
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 8]
xor ebx, ebx
mov ecx, dword [ebp - 0x24]
test ecx, ecx
mov ecx, dword [ebp - 0x24]
sets bl
xor edx, edx
cmp ecx, ebx
setle dl
mov dword [ebp - 8], edx
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffea
je 0x43725c
xor ebx, ebx
inc ebx
lea ecx, [ebp - 0xf8]
call fcn.00436a1f
cmp byte [ebp - 0x35], 0
je 0x437316
cmp esi, ebx
jne 0x437316
mov dword [edi + 8], 4
mov dword [edi + 0xc], 0x4ae5ec
mov dword [ebp - 0xc], 0xfffffff8
xor eax, eax
mov dword [ebp - 0x2c], 0x2703d9b9
mov dword [ebp - 0x14], eax
jmp 0x43733c
mov ecx, dword [ebp - 0x14]
mov dword [ebp + ecx*4 - 0x19c], 0x3250e6da
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x43732b
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xfffffffc
jle 0x4373a2
xor esi, esi
push 2
lea ecx, [ebp - 0xe0]
call fcn.0043694d
mov dword [ebp - 0x14], esi
jmp 0x437371
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xe0]
mov dword [eax + ecx*4], 0x2cb5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x43735e
mov eax, dword [ebp - 0xe0]
lea ecx, [ebp - 0xe0]
cmp dword [eax + 4], esi
jne 0x437398
call fcn.00436a1f
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffffc
jg 0x43734c
jmp 0x43739d
call fcn.00436a1f
mov esi, dword [ebp - 0x30]
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x4373b7
mov dword [ebp - 0x2c], 0x53e5
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jle 0x4373a7
mov ebx, dword [ebp - 0x34]
cmp ebx, esi
jge 0x438388
push dword [ebp + 8]
movdqa xmm0, xmmword [0xaa0470]
lea ecx, [ebp - 0x1b4]
push ecx
lea ecx, [ebp - 0x1c4]
mov dword [ebp - 0x104], eax
push ecx
push eax
lea ecx, [ebp - 0x104]
mov dword [ebp - 0x100], eax
movdqu xmmword [ebp - 0x1c4], xmm0
mov dword [ebp - 0xfc], eax
call fcn.00436a90
mov dword [ebp - 0x28], 0xffffffff
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x20], 0xfffffffe
mov dword [ebp - 0x20], 0x8ee1d110
mov dword [ebp - 0x14], eax
jmp 0x437447
mov ecx, dword [ebp - 0x14]
mov dword [ebp + ecx*4 - 0x1f8], 0xfffffffc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x437436
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 3
jg 0x4374ab
xor esi, esi
mov dword [ebp - 0x2c], 0xfffffff7
lea ecx, [ebp - 0x198]
push 2
call fcn.0043694d
mov dword [ebp - 0x1c], 0x60edac7a
mov dword [ebp - 0x14], esi
jmp 0x437487
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x198]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x437478
mov dword [ebp - 0x2c], 0x4f402e31
lea ecx, [ebp - 0x198]
dec dword [ebp - 0x1c]
call fcn.00436a1f
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jle 0x437458
lea ecx, [ebp - 0x104]
call fcn.00436a1f
xor eax, eax
mov edi, 0x4ae5f0
mov dword [ebp - 0x2c], eax
test ebx, ebx
jle 0x437cd0
mov dword [ebp - 0x14], 0xcff0ea75
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x4374e1
push eax
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x43750b
mov dword [ebp - 0x1c], 0x256a
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x437505
push 0x24ea
push eax
push eax
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
xor eax, eax
dec dword [ebp - 0x1c]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffef
je 0x4374e6
mov eax, dword [edi]
lea ecx, [ebp - 0x120]
push 4
pop ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x28], 0x93f9
push 3
mov dword [ebp - 0x20], eax
call fcn.0043694d
xor esi, esi
lea ecx, [ebp - 0x180]
mov dword [ebp - 8], esi
push 2
call fcn.0043694d
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x43755a
mov ecx, dword [ebp - 0x18]
mov dword [ebp + ecx*4 - 0x114], 0x2294
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x437549
mov dword [ebp - 0x18], eax
jmp 0x437577
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x120]
mov dword [ecx + edx*4], 0x8f08877e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x437564
mov dword [ebp - 0x18], eax
jmp 0x437595
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x180]
mov dword [ecx + edx*4], 0x8fed6c34
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x437582
mov esi, dword [ebp - 0x28]
xor edx, edx
add esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp esi, ecx
setg dl
cmp dword [ebp - 0x10], edx
jle 0x4375bf
cmp dword [ebp - 0x110], eax
jne 0x4375bf
xor ebx, ebx
mov edx, eax
inc ebx
jmp 0x4375c4
xor ebx, ebx
inc ebx
mov edx, ebx
mov ecx, dword [ebp - 0x28]
imul ecx, edx
test ecx, ecx
jne 0x4375d5
mov esi, eax
cmp dword [ebp - 0x28], eax
je 0x4375d7
mov esi, ebx
mov ecx, dword [ebp - 0x10]
xor edx, edx
cmp esi, ecx
mov ecx, dword [ebp - 0x10]
setne dl
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 0x108]
setne bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [ebp - 0x10]
setge dl
mov dword [ebp - 0x1c], edx
xor edx, edx
cmp ecx, dword [ebp - 0x1c]
setg dl
sub edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x110]
add ecx, edx
mov edx, dword [ebp - 0x10]
add edx, ecx
neg edx
sbb edx, edx
neg edx
cmp edx, dword [ebp - 0x28]
jle 0x437624
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x108]
xor ebx, ebx
mov esi, dword [ebp - 0x120]
mov dword [esi + 4], ecx
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x28]
cmp edx, ecx
mov ecx, dword [ebp - 0x180]
setl bl
mov dword [ecx + 4], ebx
mov dword [ebp - 8], eax
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x1c], 0xf7a324c9
mov byte [ebp - 1], al
cmp byte [ebp - 1], al
je 0x43766e
push eax
push eax
push eax
call dword [sym.imp.USER32.dll_UnionRect]
mov eax, dword [ebp - 0x110]
xor ecx, ecx
test eax, eax
setns cl
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [esi + 4]
mov eax, dword [ebp - 8]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 8]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 8]
setne cl
sub eax, ecx
lea ecx, [ebp - 0x180]
sub eax, dword [ebp - 8]
mov dword [ebp - 8], eax
call fcn.00436a1f
lea ecx, [ebp - 0x120]
call fcn.00436a1f
mov dword [ebp - 0xc], 0xd327cb3f
add edi, 4
mov dword [ebp - 0x10], 0xb0420410
xor eax, eax
mov dword [ebp - 0x14], 0x33e7a329
mov dword [ebp - 8], 0xdb5b4c0d
mov dword [ebp - 0x28], edi
cmp dword [ebp - 0xc], eax
je 0x4376f6
mov dword [ebp - 0x1c], 5
inc dword [ebp - 0x1c]
jmp 0x437886
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x18], 0x694d2b5f
mov dword [ebp - 8], 0x6516035
mov dword [ebp - 0x1c], 0xec31937d
cmp dword [ebp - 0xc], eax
je 0x437724
mov ecx, dword [ebp - 0x24]
imul ecx, dword [ebp - 0x24]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x18]
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp esi, ecx
setl dl
cmp edx, 0xffffffff
jbe 0x4377cc
mov dword [ebp - 0xc], eax
jmp 0x437754
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x1d0], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x437747
mov dword [ebp - 0xc], eax
jmp 0x4377c4
mov dword [ebp - 0x1c], 0x955a6194
mov dword [ebp - 0x18], eax
jmp 0x437788
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x437785
push eax
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetWindowRgn]
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x13
jge 0x43776b
mov dword [ebp - 0x18], eax
jmp 0x4377bb
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x4377aa
push 0x12d6
push eax
call dword [sym.imp.KERNEL32.dll_IsValidLocale]
xor eax, eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1d0]
sub edx, ecx
mov dword [ebp - 0x10], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x11
jge 0x437793
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x22
jge 0x43775f
jmp 0x4377dc
mov byte [ebp - 1], al
cmp byte [ebp - 1], al
je 0x4377dc
push eax
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
dec dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp eax, 0x2f10
setge cl
xor eax, eax
cmp ecx, 0xe7e5ff1f
jb 0x437808
cmp dword [ebp - 0x18], eax
je 0x437808
xor ebx, ebx
mov ecx, eax
inc ebx
jmp 0x43780d
xor ebx, ebx
inc ebx
mov ecx, ebx
dec ecx
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
cmp ecx, 4
setne dl
mov dword [ebp - 0x1c], edx
xor edx, edx
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0x8156
setg dl
imul edx, dword [ebp - 0x10]
mov dword [ebp - 0x10], edx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, ebx
setge dl
imul edx, dword [ebp - 0x24]
imul edx, dword [ebp - 0xc]
imul edx, dword [ebp - 0xc]
test edx, edx
je 0x437873
mov edx, eax
cmp dword [ebp - 0x24], eax
jne 0x437875
mov edx, ebx
mov ecx, dword [ebp - 8]
add ecx, edx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 8], eax
jne 0x4378d4
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
cmp ecx, 0xfffffff8
setle dl
xor ebx, ebx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
cmp edx, ecx
setl bl
add ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
sub esi, ebx
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp esi, ecx
setg dl
neg edx
cmp edx, 0xdd35
jle 0x4378d4
xor ebx, ebx
mov edx, eax
inc ebx
jmp 0x4378d9
xor ebx, ebx
inc ebx
mov edx, ebx
mov eax, dword [ebp - 0xc]
xor ecx, ecx
mov esi, dword [edi]
cmp edx, eax
push 3
setg cl
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x7c]
call fcn.0043694d
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 8], 0x7638
mov dword [ebp - 8], 0xfffffff7
mov dword [ebp - 0xc], eax
jmp 0x437920
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x7c]
mov dword [ecx + edx*4], 0x7571177e
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x437910
mov dword [ebp - 0xc], eax
jmp 0x437935
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x70], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x43792b
mov dword [ebp - 0x64], 2
cmp dword [ebp - 0x64], eax
jl 0x437aea
mov dword [ebp - 0x10], 0xf9e6b99b
mov ecx, 0x40f4eb9
mov dword [ebp - 0x8c], ecx
xor ebx, ebx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 8], eax
mov dword [ebp - 8], 0xfffffffa
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x1c]
cmp dword [edx + esi*4], ecx
mov ecx, dword [ebp - 0x10]
setle bl
xor edx, edx
add ecx, ebx
xor ebx, ebx
inc ebx
cmp ecx, ebx
mov ecx, dword [ebp - 0x7c]
setg dl
imul edx, dword [ecx]
test edx, edx
je 0x437a20
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x4379ba
call dword [sym.imp.USER32.dll_GetDoubleClickTime]
xor eax, eax
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x7c]
cmp dword [ecx + edx*4], eax
je 0x4379cc
mov ecx, dword [ebp - 0x64]
mov esi, ebx
jmp 0x4379ce
mov esi, eax
mov ecx, dword [ebp - 0x10]
neg esi
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x7c]
mov dword [ecx + edx*4], esi
cmp dword [ebp - 0x10], eax
jg 0x4379ff
mov dword [ebp - 8], eax
mov dword [ebp - 0x14], 0x3911e745
mov ecx, dword [ebp - 8]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], ecx
jmp 0x437adb
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x437adb
push 0x1730
push eax
push eax
call dword [sym.imp.GDI32.dll_TranslateCharsetInfo]
xor eax, eax
jmp 0x437adb
mov dword [ebp - 0x14], ebx
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 8], ebx
mov dword [ebp - 0x24], 4
mov dword [ebp - 8], eax
jmp 0x437a46
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0xac], eax
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x437a39
cmp dword [ebp - 0x10], eax
je 0x437a5b
mov dword [ebp - 8], ebx
cmp dword [ebp - 0xac], eax
jne 0x437a5e
mov dword [ebp - 8], eax
mov esi, dword [ebp - 0x64]
xor edx, edx
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x3ca3
mov edi, dword [ebp - 0x7c]
setne dl
xor ebx, ebx
cmp edx, dword [edi + esi*4]
mov edx, dword [ebp - 0x10]
setge bl
xor ecx, ecx
cmp dword [edi], ebx
setle cl
xor ebx, ebx
cmp ecx, 2
mov ecx, dword [ebp - 0xc]
setle bl
add ebx, dword [edi + ecx*4]
mov ecx, dword [ebp - 0x10]
add edx, ebx
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 0x10]
setne bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [ebp - 0x7c]
setne dl
mov dword [ebp - 0x10], edx
mov dword [ecx + 8], edx
xor edx, edx
mov ecx, dword [ebp - 0x14]
cmp dword [ebp - 0x10], ecx
sete dl
xor ebx, ebx
cmp dword [ebp - 8], edx
setl bl
xor ecx, ecx
cmp ebx, 0xfffffffd
setg cl
xor ebx, ebx
mov dword [ebp - 8], ecx
dec dword [ebp - 0x24]
inc ebx
dec dword [ebp - 0x64]
jns 0x43794b
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x7c]
call fcn.00436a1f
mov dword [ebp - 0x18], 0xe704f3d4
add edi, 4
mov dword [ebp - 0x10], 0xfffffffc
xor eax, eax
mov dword [ebp - 0x1c], 0x200
mov dword [ebp - 8], eax
jmp 0x437b22
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x9c], 0x10cbbbc2
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x437b11
mov ecx, dword [ebp - 0x18]
xor ebx, ebx
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
test ecx, ecx
mov ecx, dword [ebp - 0x18]
sets bl
xor edx, edx
cmp ebx, ecx
setge dl
xor ecx, ecx
cmp edx, 8
setle cl
neg ecx
cmp ecx, dword [ebp - 0x18]
jg 0x437b53
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
neg edx
sbb edx, edx
neg edx
imul ecx, edx
sub ecx, dword [ebp - 0x18]
je 0x437bce
mov dword [ebp - 8], 0xe072305a
xor ebx, ebx
inc ebx
or ecx, 0xffffffff
mov dword [ebp - 8], ebx
mov dword [ebp - 8], 0xfffffffa
mov dword [ebp - 8], 0x7e784b52
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x10], eax
jmp 0x437bc4
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x9c], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x437bb7
inc dword [ebp - 0x1c]
jmp 0x437bfc
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
jg 0x437bf9
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x437be8
push eax
call dword [sym.imp.KERNEL32.dll_SetCommBreak]
xor eax, eax
mov ecx, dword [ebp - 0x18]
cmp dword [ebp + ecx*4 - 0x9c], eax
jne 0x437bf9
inc dword [ebp - 0x18]
jmp 0x437bd1
xor ebx, ebx
inc ebx
test esi, esi
jne 0x437c03
add edi, 8
mov dword [ebp - 0x14], 0xd32f
lea ecx, [ebp - 0xc0]
push 3
call fcn.0043694d
mov dword [ebp - 0x1c], 0xffffffff
xor eax, eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 8], eax
jmp 0x437c3b
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + edx*4], 0x6eff3de0
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x437c28
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc0]
neg esi
sbb esi, esi
xor ebx, ebx
neg esi
mov ecx, dword [ecx]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc0]
cmp dword [ecx], edx
setl bl
xor ecx, ecx
cmp ebx, esi
setg cl
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx + 4]
imul edx, dword [ecx]
mov byte [ebp - 1], al
test edx, edx
je 0x437c95
cmp byte [ebp - 1], al
je 0x437caf
call dword [sym.imp.USER32.dll_CreatePopupMenu]
jmp 0x437caf
cmp byte [ebp - 1], al
je 0x437caf
push 0x1cb1
push 0x97d
push 0x12ae
call dword [sym.imp.KERNEL32.dll_MulDiv]
lea ecx, [ebp - 0xc0]
call fcn.00436a1f
mov ecx, dword [ebp - 0x2c]
add edi, dword [ebp - 0x20]
inc ecx
push 0
mov dword [ebp - 0x2c], ecx
pop eax
cmp ecx, dword [ebp - 0x34]
jl 0x4374c8
mov dword [ebp - 0x28], 0x8a1f9496
lea ecx, [ebp - 0x144]
or ebx, 0xffffffff
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x34], 0xde1fc657
mov dword [ebp - 0x14], 4
mov dword [ebp - 0x1c], 0xffff
mov dword [ebp - 0x24], ebx
push 2
call fcn.0043694d
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x437d18
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x144]
mov dword [ecx + edx*4], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x437d09
cmp dword [ebp - 0x28], eax
jne 0x437d8f
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov ecx, dword [ebp - 0x10]
cmp ecx, ebx
mov ecx, dword [ebp - 0x34]
setl dl
xor ebx, ebx
cmp edx, ecx
sete bl
xor ecx, ecx
sub ebx, 6
imul ebx, dword [ebp - 0x10]
cmp ebx, 0x5027
setge cl
xor edx, edx
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x10]
cmp dword [ebp - 0x20], ecx
setne dl
xor ebx, ebx
cmp edx, 0xfffffffb
setne bl
xor edx, edx
sub ebx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x34]
cmp ebx, ecx
setle dl
xor ecx, ecx
cmp edx, 0xf7d9
setl cl
imul ecx, ecx, 0xa2b3b7be
cmp ecx, dword [ebp - 0x1c]
jle 0x437d8f
xor esi, esi
mov ecx, eax
inc esi
jmp 0x437d94
xor esi, esi
inc esi
mov ecx, esi
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], eax
je 0x437e6a
push 4
lea ecx, [ebp - 0xec]
call fcn.0043694d
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x437dc1
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x98], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x437db4
mov dword [ebp - 0xc], eax
jmp 0x437ddf
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xec]
mov dword [ecx + edx*4], 0x579deb47
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x437dcc
mov ecx, dword [ebp - 0x98]
xor ebx, ebx
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x98]
cmp edx, ecx
mov ecx, dword [ebp - 0x14]
setl bl
sub ebx, ecx
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x98], eax
je 0x437e1e
mov eax, dword [ebp - 0xec]
mov dword [eax + 0xc], 0x867f5d1c
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0xec]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x98]
mov eax, dword [ebp - 0x98]
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x24], eax
call fcn.00436a1f
jmp 0x437eba
mov dword [ebp - 0x10], 0x38e0ea62
dec dword [ebp - 0x10]
mov dword [ebp - 0x24], eax
jmp 0x437eb5
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x144]
cmp dword [ecx + edx*4], eax
jne 0x437eba
mov dword [ebp - 0x10], eax
jmp 0x437ead
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x437eaa
push eax
push 0x849
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetScrollInfo]
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x437e8c
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jle 0x437e79
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x14], eax
call fcn.00436a1f
mov ebx, dword [edi]
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 0x14], esi
push 2
mov dword [ebp - 0x24], ebx
call fcn.0043694d
mov dword [ebp - 0x20], 0xffffffff
lea ecx, [ebp - 0x174]
mov dword [ebp - 0x20], 0xffffffff
push 4
call fcn.0043694d
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x437f15
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x1a8]
mov dword [ecx + edx*4], 0xba2afe01
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x437f02
mov dword [ebp - 0xc], eax
jmp 0x437f2f
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x174]
mov dword [ecx + edx*4], esi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x437f20
mov dword [ebp - 0x14], 0xfffffff1
cmp dword [ebp - 0x14], 0xffffffff
jl 0x437fdd
mov esi, dword [ebp - 0x174]
xor ebx, ebx
inc ebx
mov dword [ebp - 0x20], 3
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x20], 0xe55459ee
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], 0x5240ca70
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 8], eax
jmp 0x437f97
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x1e8], 0xb2415fb5
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x437f86
inc dword [esi + 0xc]
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x437fca
push eax
push 0x4dc
push 0x2235
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetPixel]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffff
jge 0x437f4f
mov ebx, dword [ebp - 0x24]
xor esi, esi
inc esi
lea ecx, [ebp - 0x174]
call fcn.00436a1f
lea ecx, [ebp - 0x1a8]
call fcn.00436a1f
add edi, 4
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x28], edi
push 3
mov edi, dword [edi]
mov dword [ebp - 0x18], edi
call fcn.0043694d
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x2c], 0x7638
mov dword [ebp - 0x20], 0xfffffff7
mov dword [ebp - 0xc], eax
jmp 0x438033
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x44]
mov dword [ecx + edx*4], 0x7571177e
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x438023
mov dword [ebp - 0xc], eax
jmp 0x438048
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x60], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x43803e
mov dword [ebp - 0x54], 2
cmp dword [ebp - 0x54], eax
jl 0x4381f7
mov dword [ebp - 0x10], 0xf9e6b99b
mov ecx, 0x40f4eb9
mov dword [ebp - 0x8c], ecx
xor ebx, ebx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x20], 0xfffffffa
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x34]
cmp dword [edx + esi*4], ecx
mov ecx, dword [ebp - 0x10]
setle bl
xor edx, edx
add ecx, ebx
xor ebx, ebx
inc ebx
cmp ecx, ebx
mov ecx, dword [ebp - 0x44]
setg dl
imul edx, dword [ecx]
test edx, edx
je 0x438133
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x4380cd
call dword [sym.imp.USER32.dll_GetDoubleClickTime]
xor eax, eax
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x44]
cmp dword [ecx + edx*4], eax
je 0x4380df
mov ecx, dword [ebp - 0x54]
mov esi, ebx
jmp 0x4380e1
mov esi, eax
mov ecx, dword [ebp - 0x10]
neg esi
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x44]
mov dword [ecx + edx*4], esi
cmp dword [ebp - 0x10], eax
jg 0x438112
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], 0x3911e745
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], ecx
jmp 0x4381e8
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x4381e8
push 0x1730
push eax
push eax
call dword [sym.imp.GDI32.dll_TranslateCharsetInfo]
xor eax, eax
jmp 0x4381e8
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x14], 4
mov dword [ebp - 8], eax
jmp 0x438159
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0xb0], eax
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x43814c
cmp dword [ebp - 0x10], eax
je 0x43816e
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0xb0], eax
jne 0x438171
mov dword [ebp - 0x1c], eax
mov edi, dword [ebp - 0x54]
xor edx, edx
mov ebx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x3ca3
mov esi, dword [ebp - 0x44]
setne dl
xor ecx, ecx
cmp edx, dword [esi + edi*4]
mov esi, dword [ebp - 0x44]
setge cl
xor edx, edx
cmp dword [esi], ecx
setle dl
xor ecx, ecx
cmp edx, 2
mov edx, dword [ebp - 0x10]
setle cl
add ecx, dword [esi + ebx*4]
xor ebx, ebx
add edx, ecx
mov ecx, dword [ebp - 0x10]
cmp edx, ecx
mov ecx, dword [ebp - 0x10]
setne bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [ebp - 0x44]
setne dl
mov dword [ebp - 0x20], edx
mov dword [ecx + 8], edx
xor edx, edx
mov ecx, dword [ebp - 0x2c]
cmp dword [ebp - 0x20], ecx
sete dl
xor ebx, ebx
cmp dword [ebp - 0x1c], edx
setl bl
xor ecx, ecx
cmp ebx, 0xfffffffd
setg cl
mov dword [ebp - 0x20], ecx
dec dword [ebp - 0x14]
dec dword [ebp - 0x54]
jns 0x43805e
mov ebx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x18]
lea ecx, [ebp - 0x44]
call fcn.00436a1f
add dword [ebp - 0x28], 4
lea ecx, [ebp - 0x1b4]
xor esi, esi
mov dword [ebp - 0x14], esi
inc esi
push esi
call fcn.0043694d
xor eax, eax
mov dword [ebp - 0x20], 0xe9e84363
mov dword [ebp - 8], eax
jmp 0x438236
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1b4]
mov dword [ecx + edx*4], 0xf89b5461
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x438223
mov dword [ebp - 0x14], 0xffffffe6
jmp 0x438288
mov dword [ebp - 8], 0xab8c3ad3
mov dword [ebp - 8], eax
jmp 0x43826f
cmp byte [ebp - 1], 0
je 0x438269
push 0xc67
push 0x1667
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
xor eax, eax
mov dword [ebp - 0x20], esi
inc dword [ebp - 8]
cmp dword [ebp - 8], eax
mov byte [ebp - 1], al
jle 0x438250
cmp byte [ebp - 1], 0
je 0x438285
call dword [sym.imp.USER32.dll_CreatePopupMenu]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xa
jne 0x438244
lea ecx, [ebp - 0x1b4]
call fcn.00436a1f
test edi, edi
jne 0x438381
cmp byte [ebp - 0x35], 0
je 0x4382b5
cmp dword [ebp - 0x30], esi
jne 0x4382b5
mov ecx, dword [ebp + 8]
lea eax, [ebx + 0x10]
add dword [ecx + 8], eax
mov ecx, dword [ebp - 0x28]
push ebx
mov eax, dword [ecx]
mov dword [ebp - 0x20], eax
mov eax, dword [ecx + 4]
add ecx, 8
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], ecx
call fcn.004879b2
mov dword [ebp - 0x34], eax
xor eax, eax
pop ecx
mov dword [ebp - 0xb4], eax
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xb4]
push eax
push ebx
call fcn.0046b11e
mov edi, dword [ebp - 0xa8]
xor esi, esi
mov ecx, esi
test ebx, ebx
jle 0x438352
mov eax, ecx
and eax, 0x80000001
jns 0x43831c
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x20]
add eax, ecx
add eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0x2c]
jmp 0x438331
lea eax, [edx + 1]
cdq
idiv ebx
cmp word [edi + edx*2], si
jne 0x43832e
xor eax, eax
inc eax
mov word [edi + edx*2], ax
mov eax, dword [ebp - 0x28]
mov al, byte [edx + eax]
mov edx, dword [ebp - 0x34]
mov byte [ecx + edx], al
inc ecx
cmp ecx, ebx
jl 0x43830e
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x34]
mov dword [ecx], ebx
mov dword [ecx + 4], eax
test edi, edi
je 0x438386
push edi
call fcn.00488ea6
mov edi, dword [ebp + 8]
xor eax, eax
pop ecx
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
jmp 0x438388
mov edi, dword [ebp + 8]
jmp 0x43838b
mov edi, ecx
xor esi, esi
inc esi
push 3
pop ebx
mov dword [ebp - 0x10], 0x194ddbc3
lea ecx, [ebp - 0x138]
mov dword [ebp + 8], 0x5af9f7c8
push ebx
call fcn.0043694d
mov dword [ebp + 8], 0xffffffff
lea ecx, [ebp - 0x12c]
push esi
call fcn.0043694d
xor eax, eax
mov dword [ebp + 8], 0xfffffffd
mov dword [ebp + 8], eax
jmp 0x4383da
mov ecx, dword [ebp + 8]
mov dword [ebp + ecx*4 - 0x1dc], 0xee5a9864
inc dword [ebp + 8]
cmp dword [ebp + 8], ebx
jl 0x4383c9
mov dword [ebp + 8], eax
jmp 0x4383f7
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x138]
mov dword [ecx + edx*4], 0xe3ca3691
inc dword [ebp + 8]
cmp dword [ebp + 8], ebx
jl 0x4383e4
mov dword [ebp + 8], eax
jmp 0x438410
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x12c]
mov dword [ecx + edx*4], eax
inc dword [ebp + 8]
cmp dword [ebp + 8], esi
jl 0x438401
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x1d4], 0xfffffffc
imul ecx, dword [ebp - 0x10], 0x8213
add ecx, 0x4c6b5125
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
cmp edx, ecx
mov ecx, dword [ebp - 0x138]
setne bl
xor edx, edx
mov dword [ecx + 4], ebx
mov dword [ebp + 8], ebx
mov ecx, dword [ebp - 0x10]
cmp ecx, 0xfffffffc
setg dl
xor ebx, ebx
imul edx, dword [ebp + 8]
imul edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
add edx, 0x98ce
cmp edx, 0xfffffff7
setl bl
xor edx, edx
cmp ebx, ecx
setg dl
neg edx
cmp edx, dword [ebp - 0x10]
jg 0x438487
cmp dword [ebp - 0x10], eax
je 0x438489
mov eax, esi
cmp eax, 0xfffffffc
sbb ecx, ecx
neg ecx
sub ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x12c]
imul ecx, ecx, 0x40c9
mov dword [edx], ecx
mov dword [ebp + 8], ecx
lea ecx, [ebp - 0x12c]
mov dword [edx], 2
call fcn.00436a1f
lea ecx, [ebp - 0x138]
call fcn.00436a1f
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret