Function at 0x100173f9
Capabilities:
Query or enumerate registry value
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x158
push ebx
push esi
push edi
mov dword [ebp - 0x58], edx
mov edi, ecx
mov dword [ebp - 0x24], edi
mov dword [ebp - 4], 0xa5273358
xor ebx, ebx
mov dword [ebp - 0x10], ebx
xor ecx, ecx
mov dword [ebp - 0x10], 0x58aae07e
inc ecx
push 5
pop eax
mov dword [ebp - 0x10], eax
mov eax, 0x954eb856
mov dword [ebp - 0x10], 0x97440271
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x20], 0xd3ed23c5
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], 0xa1d2
mov dword [ebp - 0x20], 0x98cbdb62
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], eax
mov dword [ebp - 0xc], 0xb4ab
mov dword [ebp - 8], ebx
jmp 0x1001748b
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x108], 0x634d71b3
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x1001747a
mov eax, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp ecx, eax
setge dl
mov dword [ebp - 0x10], edx
xor edx, edx
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp ecx, eax
mov eax, dword [ebp - 4]
setge dl
xor ecx, ecx
cmp eax, edx
setg cl
cmp ecx, dword [ebp - 4]
jl 0x100174c5
mov eax, dword [ebp - 4]
imul eax, dword [ebp - 4], 0x11f3
mov ecx, 0x11f3
push 0xfffffffffffffffb
sub ecx, eax
pop eax
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xb91ee4cf
sbb edx, edx
xor ecx, ecx
inc edx
sub edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp edx, eax
setl cl
mov dword [ebp - 0x10], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
or eax, 0xffffffff
dec dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], ebx
jmp 0x10017522
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x44], ecx
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x10017518
mov dword [ebp - 4], ebx
jmp 0x1001753a
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x54], 0x3690f1d8
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1001752c
push 3
mov dword [ebp - 4], ebx
pop esi
jmp 0x10017558
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x148], 2
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x10017547
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x54]
neg eax
sub eax, 0x9bdba76a
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x10], eax
mov eax, 0x76ff55e0
mov dword [ebp - 0x1c], 0x76820624
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x1c], ebx
jmp 0x1001762e
mov dword [ebp - 8], ebx
jmp 0x100175c9
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x7c], 0x68206240
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x100175bb
mov dword [ebp - 0x7c], 0xffffffee
jmp 0x100175f1
cmp byte [ebp - 0x11], bl
je 0x100175ee
push 0x9f3
push 0x1501
push ebx
call dword [sym.imp.USER32.dll_CheckMenuItem]
inc dword [ebp - 0x7c]
cmp dword [ebp - 0x7c], 0x15
mov byte [ebp - 0x11], bl
je 0x100175d8
cmp byte [ebp - 0x11], bl
je 0x1001760b
push ebx
push 0x22f6
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov dword [ebp - 8], 2
mov dword [ebp - 8], ebx
jmp 0x10017626
mov eax, dword [ebp - 8]
cmp dword [ebp + eax*4 - 0x9c], ebx
jne 0x1001762b
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jle 0x10017617
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xd
jle 0x100175b6
mov dword [ebp - 8], 0x5b9b55bb
mov dword [ebp - 0x10], 0xedad94e8
mov dword [ebp - 8], ebx
jmp 0x100176b1
mov dword [ebp - 0x18], ebx
jmp 0x1001765d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x84], 0xbdbdf7c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1001764c
mov eax, dword [ebp - 8]
xor ecx, ecx
mov eax, dword [ebp - 0x84]
cmp eax, 0x82d5
setg cl
xor eax, eax
test ecx, ecx
setns al
cmp eax, dword [ebp - 0x84]
jl 0x10017688
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x10], 0xfffffffd
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x84], 0x9d73
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x100176ae
push ebx
call dword [sym.imp.GDI32.dll_CreatePenIndirect]
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffff2
jl 0x10017647
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 0xfffffff1
je 0x100178c7
push 6
pop edi
mov dword [ebp - 8], ebx
xor edx, edx
mov dword [ebp - 0x10], ebx
inc edx
mov dword [ebp - 0xc], 0xfffffff7
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x10], edi
mov dword [ebp - 4], ebx
jmp 0x100176f3
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x88], 0xb78acc4b
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x100176e2
mov dword [ebp - 4], ebx
jmp 0x1001770b
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x50], 0x4a90c6d2
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x100176fd
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x88], ecx
mov eax, dword [ebp - 0x50]
add eax, ecx
mov ecx, edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x50]
sub ecx, eax
xor eax, eax
cmp ecx, 0x3e86
setg al
xor ecx, ecx
cmp eax, 0xfffffffb
setne cl
xor eax, eax
cmp ecx, 0x40e1
mov ecx, 0xccd20446
setne al
sub eax, 0xa3c3d214
neg eax
sbb eax, eax
inc eax
cmp ecx, eax
mov eax, dword [ebp - 0xc]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setl cl
mov dword [ebp - 0x10], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x50]
add eax, dword [ebp - 0x10]
cmp eax, 0x78e6
setle cl
mov dword [ebp - 0x10], ecx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x10], 0x61f9c28a
mov dword [ebp - 0x18], 0x1d925b0e
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x20], 0x7d3d
dec dword [ebp - 0x38]
mov dword [ebp - 0x18], 0xffffffe2
jmp 0x1001789c
mov dword [ebp - 4], ebx
mov dword [ebp - 0xc], 0x27a4ef21
mov dword [ebp - 0xc], ebx
jmp 0x100177d8
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x130], 0xfffffffa
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x100177c7
cmp dword [ebp - 0x18], ebx
je 0x1001783b
mov eax, dword [ebp - 4]
xor ebx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
setg bl
sub ebx, dword [ebp - 4]
neg ebx
sbb ebx, ebx
xor edx, edx
inc ebx
sub ebx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
cmp ebx, 5
setl dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0x38]
jle 0x10017839
xor eax, eax
inc eax
xor ebx, ebx
jmp 0x1001783d
xor ebx, ebx
mov eax, ebx
cmp eax, dword [ebp - 4]
je 0x1001784b
cmp dword [ebp - 4], ebx
jne 0x1001784b
mov ecx, ebx
jmp 0x1001784e
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x38]
sub ecx, eax
cmp ecx, 1
sbb eax, eax
inc eax
imul eax, dword [ebp - 0x38]
test eax, eax
je 0x10017864
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x20], ebx
je 0x1001787c
cmp dword [ebp - 0x10], ebx
je 0x1001787c
xor edx, edx
inc edx
jmp 0x1001787e
mov edx, ebx
mov eax, dword [ebp - 4]
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 0x5faafe30
setg al
mov dword [ebp - 0x128], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe6
jle 0x100177b8
cmp dword [ebp - 8], ebx
jne 0x100178c4
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff1
jne 0x100176c7
mov edi, dword [ebp - 0x24]
mov dword [ebp - 4], ebx
jmp 0x100179b1
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x30], 0xb26bdde0
inc dword [ebp - 4]
cmp dword [ebp - 4], 1
jl 0x100179a3
mov dword [ebp - 4], ebx
or ecx, 0xffffffff
cmp dword [ebp - 4], 1
jge 0x100179cf
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x4c], ecx
inc dword [ebp - 4]
jmp 0x100179bd
mov dword [ebp - 4], ebx
jmp 0x100179e5
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x104], 0xc3167647
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x100179d4
mov dword [ebp - 0x30], 0xa
cmp dword [ebp - 0x30], 0x13
jge 0x10017bfb
push 5
pop edi
mov dword [ebp - 8], 0x56fd8c65
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xc], 0x3c25
mov dword [ebp - 0xc], ebx
jmp 0x10017a1f
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x28], ecx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 1
jl 0x10017a15
mov dword [ebp - 0x28], 0xf
jmp 0x10017a7a
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x20], 0xd60a2215
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10017a4d
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov eax, dword [ebp - 0x30]
xor edx, edx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
push 0xffffffffffffffff
setne dl
cmp edi, edx
pop ecx
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
je 0x10017a2e
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
dec eax
neg eax
sbb eax, eax
sub edx, 4
inc eax
sub edx, eax
mov eax, dword [ebp - 0x28]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setg cl
inc ecx
imul eax, ecx, 6
test eax, eax
je 0x10017ab8
cmp dword [ebp - 0x30], ebx
je 0x10017ab8
xor edx, edx
inc edx
jmp 0x10017aba
mov edx, ebx
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0x6e82a74
setle al
add eax, 0xfc4a4f2a
mov dword [ebp - 0x28], eax
cmp eax, dword [ebp - 8]
jle 0x10017b4d
mov dword [ebp - 0x10], 0xffff
xor edx, edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
add ecx, eax
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setg dl
cmp edx, dword [ebp - 0x28]
je 0x10017b00
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x28]
neg esi
sbb esi, esi
xor edx, edx
inc esi
mov dword [ebp - 0x4c], esi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
cmp esi, ecx
setg al
mov dword [ebp - 0x104], eax
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10017be5
push ebx
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
jmp 0x10017be5
mov dword [ebp - 0x10], 0x936bb358
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
jne 0x10017bbc
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x18], ebx
je 0x10017b74
cmp dword [ebp - 0x28], ebx
je 0x10017b74
inc ecx
jmp 0x10017b76
mov ecx, ebx
mov eax, dword [ebp - 0x104]
xor edx, edx
cmp eax, 0xf1c2
setg dl
mov dword [ebp - 0x104], edx
sub edx, ecx
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setne cl
sub ecx, 0x464d06d0
je 0x10017baa
cmp dword [ebp - 0x30], ebx
je 0x10017baa
xor ecx, ecx
inc ecx
jmp 0x10017bac
mov ecx, ebx
mov eax, dword [ebp - 0x28]
sub ecx, eax
mov eax, dword [ebp - 0x10]
add eax, ecx
jne 0x10017bbc
mov eax, ebx
jmp 0x10017bbf
xor eax, eax
inc eax
push 0xfffffffffffffffb
pop ecx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setge dl
sub edx, dword [ebp - 0x4c]
je 0x10017be0
cmp dword [ebp - 0x28], ebx
je 0x10017be0
xor eax, eax
inc eax
jmp 0x10017be2
mov eax, ebx
mov dword [ebp - 0x4c], eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0x13
push 0xffffffffffffffff
pop ecx
jl 0x100179ff
mov edi, dword [ebp - 0x24]
push 3
pop esi
cmp dword [edi + 0x10], ebx
jne 0x10017c07
xor al, al
jmp 0x10018276
lea eax, [ebp - 0x58]
push eax
push ebx
push 0x6b76
call fcn.1001ff35
mov dword [ebp - 0xc], ebx
xor ecx, ecx
mov dword [ebp - 8], ebx
add esp, 0xc
mov dword [ebp - 0x20], 0x76270e7a
inc ecx
mov dword [ebp - 0x20], 0x1f7d9671
mov dword [ebp - 0x20], 0xdc0223de
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], 0x9b95
mov dword [ebp - 0x1c], ebx
jmp 0x10017c5a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x158], 0x77c422d5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10017c49
mov dword [ebp - 0x1c], ebx
jmp 0x10017c76
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x114], 0xfff6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10017c65
mov dword [ebp - 0xc], 0xac70c309
cmp dword [ebp - 0xc], ebx
jne 0x10017cbf
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
sub eax, 0xffff
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 8]
cmp eax, 0xcabf
jge 0x10017cb1
mov eax, ebx
cmp dword [ebp - 8], ebx
je 0x10017cb3
mov eax, ecx
cmp dword [ebp - 0xc], eax
je 0x10017cbf
mov eax, ebx
cmp dword [ebp - 0xc], ebx
je 0x10017cc1
mov eax, ecx
xor edx, edx
cmp eax, 0xffffffff
mov eax, dword [ebp - 8]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x20], ecx
dec dword [ebp - 0x110]
cmp dword [edi + 0x14], 0x10
jb 0x10017ce6
mov esi, dword [edi]
jmp 0x10017ce8
mov esi, edi
cmp dword [edi + 0x14], 0x10
jb 0x10017cf2
mov ecx, dword [edi]
jmp 0x10017cf4
mov ecx, edi
mov eax, dword [edi + 0x10]
add eax, ecx
cmp esi, eax
je 0x10017f52
mov dword [ebp - 0x20], 0xfffffffe
mov dword [ebp - 0xc], ebx
jmp 0x10017d1a
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xf4], ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x10017d0d
push ebx
push 0x1e9
push 0x1c09
call fcn.10019d66
mov eax, dword [ebp - 0xec]
add esp, 0xc
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x20], eax
mov al, byte [esi]
cmp al, 0x30
jl 0x10017d5f
cmp al, 0x39
jg 0x10017d5f
mov edx, dword [ebp - 0x58]
movsx eax, al
imul ecx, dword [edx], 0xa
add ecx, 0xffffffd0
add eax, ecx
inc esi
mov dword [edx], eax
jmp 0x10017ce8
mov dword [ebp - 0x2c], 0xffffffff
xor edx, edx
mov dword [ebp - 0x34], 0x55fff839
inc edx
mov dword [ebp - 0x48], 0x3d37f4a1
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc4], edx
cmp dword [ebp - 0x2c], ebx
jne 0x10017da3
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
add eax, 0x6085e071
je 0x10017de5
lea eax, [ebp - 0x34]
mov dword [ebp - 0xa0], 9
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x3c]
push eax
push ebx
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.1001a180
add esp, 0x18
jmp 0x10017f02
mov dword [ebp - 8], 0x39c1d55e
push 3
mov dword [ebp - 8], 0xfffffffc
pop esi
mov dword [ebp - 0x3c], ebx
cmp dword [ebp - 0x3c], esi
jg 0x10017f02
mov edi, 0xfc39fa23
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xe4], edi
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0x34], ebx
jmp 0x10017ea7
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x48], esi
cmp dword [ebp - 0x48], ebx
jl 0x10017ea4
mov dword [ebp - 0x24], 2
mov dword [ebp - 0x2c], ebx
jmp 0x10017e93
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], ebx
jmp 0x10017e57
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x13c], 0x4446
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x10017e46
mov eax, dword [ebp - 0x3c]
cmp dword [ebp + eax*4 - 0xd0], ebx
jne 0x10017e98
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], ebx
jne 0x10017e7d
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp + eax*4 - 0xd0]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x13c], eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jle 0x10017e3e
mov dword [ebp - 8], 0x26b13122
dec dword [ebp - 0x48]
jns 0x10017e32
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], esi
jle 0x10017e27
mov dword [ebp - 0x34], esi
cmp dword [ebp - 0x34], ebx
jl 0x10017ef6
push 4
pop ecx
mov dword [ebp - 8], ebx
jmp 0x10017ed1
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xd0], 0x1cf
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x10017ec0
mov dword [ebp - 8], ebx
jmp 0x10017eec
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xe8], 0xd6df81f9
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x10017edb
dec dword [ebp - 0x34]
jns 0x10017ebb
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], esi
jle 0x10017e07
mov eax, dword [ebp - 0x58]
mov dword [eax], ebx
mov dword [ebp - 0xc], ebx
jmp 0x10017f1a
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x74], 0xdf99ff60
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x10017f0c
mov dword [ebp - 0x70], ebx
jmp 0x10017f47
lea eax, [ebp - 0x3e]
mov dword [ebp - 0x20], 0x6a48
push ebx
mov byte [ebp - 0x3e], bl
push eax
call fcn.10019e0b
pop ecx
pop ecx
cmp dword [ebp - 0x20], ebx
jne 0x10017c00
dec dword [ebp - 0x70]
cmp dword [ebp - 0x70], 0xfffffff9
je 0x10017f25
jmp 0x10017c00
mov dword [ebp - 8], 0x73ff82f
xor edx, edx
push 6
mov dword [ebp - 0x24], 0x20bd2ab
inc edx
pop eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], 0xec2184e5
mov dword [ebp - 0x1c], ebx
jmp 0x10017f83
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x6c], 0x969161d5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10017f75
mov dword [ebp - 0x1c], ebx
jmp 0x10017f9a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x8c], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10017f8d
mov dword [ebp - 0x6c], ebx
or edi, 0xffffffff
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
push 2
pop ecx
mov dword [ebp - 0x8c], ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x6c], eax
mov eax, 0x711a
push 3
pop esi
mov dword [ebp - 8], esi
mov dword [ebp - 0x10], 0xe713a473
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], 0x4f77722a
mov dword [ebp - 0x24], edi
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x24], 0xa2f
mov dword [ebp - 0x24], edx
mov dword [ebp - 0xc], ebx
jmp 0x10018032
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xd8], 0xd513c61c
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x10018021
mov eax, dword [ebp - 8]
cmp dword [ebp - 8], ebx
je 0x10018076
mov eax, dword [ebp - 8]
dec dword [ebp - 0xa8]
mov eax, dword [ebp - 0xa8]
je 0x10018067
mov eax, dword [ebp - 0xd8]
cmp edi, eax
mov eax, dword [ebp - 0xb0]
sbb ecx, ecx
inc ecx
sub ecx, eax
mov eax, edx
jne 0x10018069
mov eax, ebx
mov dword [ebp - 0x24], eax
mov ecx, edx
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 8]
jge 0x10018078
mov ecx, ebx
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x20]
imul eax, ecx
cmp eax, edx
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0x10]
cmp eax, edx
mov eax, 0xbc657e3b
setle cl
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x18], 0xc176b0f7
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x24], 0x4bbc1846
mov dword [ebp - 0x20], edi
mov dword [ebp - 0xc], ebx
jmp 0x100180ea
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x68], 0xfffffffc
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x100180dc
inc dword [ebp - 0x18]
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], esi
jg 0x10018274
push 6
pop edi
mov dword [ebp - 4], 7
mov dword [ebp - 8], 0x14b81230
mov dword [ebp - 4], ebx
jmp 0x1001825f
mov dword [ebp - 0x24], 0x24e228c5
xor ecx, ecx
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x68]
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x68]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x68]
test eax, eax
setle cl
sub ecx, 4
je 0x10018150
cmp dword [ebp - 4], ebx
je 0x10018150
xor edx, edx
inc edx
jmp 0x10018152
mov edx, ebx
mov dword [ebp - 0xb4], 0x110bc03d
xor ecx, ecx
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x68]
test eax, eax
mov eax, dword [ebp - 0x18]
sete cl
add ecx, 0xeef43fc3
add ecx, edx
xor edx, edx
cmp ecx, eax
setg dl
imul edx, dword [ebp - 4]
neg edx
sbb edx, edx
xor eax, eax
neg edx
cmp edx, 0xfe9f4864
setne al
cmp edi, eax
sbb eax, eax
xor ecx, ecx
neg eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 8]
sub edx, eax
mov eax, dword [ebp - 4]
cmp edx, eax
mov eax, dword [ebp - 0x64]
setge cl
add ecx, eax
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x68], ecx
mov eax, dword [ebp - 8]
mov dword [ebp - 0xb4], eax
cmp eax, 0xdcb0c7b2
jae 0x100181d2
cmp dword [ebp - 4], ebx
je 0x100181d2
xor eax, eax
inc eax
jmp 0x100181d4
mov eax, ebx
cmp eax, dword [ebp - 4]
jle 0x100181e7
mov eax, dword [ebp - 4]
cmp dword [ebp + eax*4 - 0x68], ebx
je 0x100181e7
xor ecx, ecx
inc ecx
jmp 0x100181e9
mov ecx, ebx
xor eax, eax
cmp ecx, 0x5412
sete al
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 4]
cmp dword [ebp - 0x24], eax
je 0x10018208
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x5c]
xor edx, edx
mov eax, dword [ebp - 8]
cmp eax, ecx
mov eax, dword [ebp - 4]
setg dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x68]
cmp edx, eax
mov eax, dword [ebp - 0x18]
setg cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 4]
setne dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x68]
sub eax, edx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 4]
cmp eax, 0xb307
mov eax, dword [ebp - 4]
setle cl
add ecx, dword [ebp + eax*4 - 0x68]
mov dword [ebp - 8], ecx
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jle 0x10018118
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x10018102
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret